O documento apresenta os conceitos básicos de vetores e matrizes em C, incluindo declaração, inicialização e acesso aos elementos. Também aborda a diretiva #define para criar constantes e apresenta exemplos de código.
2. AGENDA
Estrutura de dados homogênea
Vetores e Matrizes
A diretiva #define
Matrizes
Estruturas
typedef
Exercícios
2
3. INTRODUÇÃO
Algoritmos precisam de dados e informações para exercer as
suas funções.
Informações simples atendem a uma pequena parcela dos
algoritmos.
A maioria dos algoritmos utilizam uma grande carga de
informações estas quando utilizadas com tipos primitivos
precisam ser criadas com inúmeras variáveis..
tornando o algoritmo carregado de variáveis, já que uma
variável contém apenas uma informação (exemplo: a1,
a2, a3, a4)Difícil gerenciamento
Como prever o número de informações que serão
necessárias
3
4. VETOR EM C
Vetor é uma coleção de variáveis de mesmo tipo
que compartilham o mesmo nome (identificador).
Declaração de um vetor:
<tipo de dado> <identificador>[<tamanho>];
Exemplo: Definição de um vetor do tipo inteiro com
5 posições e um vetor do tipo char com 32
posições:
int x[5];
char y[32];
5. VETORES EM C – REFERÊNCIA AOS
ELEMENTOS DO VETOR
Cada elemento do vetor é referenciado
individualmente por meio de um número inteiro e
positivo, entre colchetes.
Este número/índice representa a posição do
elemento no vetor.
A numeração dos índices inicia em ZERO.
Exemplo:
x[0] = 1;
y[10] = 'a';
7. VETORES EM C - INICIALIZAÇÃO
É possível inicializar vetores no comando de declaração.
Exemplos:
/* Cria e inicializa vetor de 10 posições */
int a[10] = {1, 2, 3, 5, 7, 11, 13, 17, 19, 23};
/* Cria e inicializa vetor de 6 posições. O tamanho do vetor
PODE ser omitido se houver uma inicialização no
comando de declaração */
int b[] = {1, 2, 4, 8, 16, 32};
8. VETORES EM C - INICIALIZAÇÃO
/* Cria e inicializa vetor de 24 posições. Cada letra do texto
será armazenada em uma posição do vetor. */
char c[] = {“ABCDefgh e outras letras”};
/* Cria vetor de 12 posições. O vetor e inicializado com valores
ZERO se não houver valores entre as chaves. */
int d[12]={};
/* Cria vetor com 16 posições. Se o vetor não é inicializado, ele
irá conter valores quaisquer (lixo de memória) */
int e[16];
9. A DIRETIVA #DEFINE
Utilizado para criar constantes (veja exemplo no
código do slide anterior).
Constantes têm funcionamento semelhante a
variáveis, porém seu valor não pode ser alterado.
Sintaxe:
#define <identificador> <valor>
Exemplo:
#define errorMsg01 “Valor inválido!”
#define PI 3.14159265
10. A DIRETIVA #DEFINE
Geralmente, as constantes são definidas no início do
programa (juntamente com a inclusão das
bibliotecas).
12. MATRIZES EM C
Funcionam de modo similar a vetores.
Declaração:
<tipo de dado> <identificador> [tamanho1,tamanho2,...]
Exemplo:
int m[3][3]; /* declara uma matriz 3x3 */
int n[3][4][5]; /* declara uma matriz
tridimensional de tamanho 3x4x5 */
double p[10][2]; /* declara uma matriz do tipo
double de tamanho 10x2 */
13. MATRIZES EM C - INICIALIZAÇÃO
int a[3][3]={1,2,3,4,5,6,7,8,9};
int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};
/* Separa os dados de cada linha da matriz. Esta
maneira é preferida. */
Em ambos os exemplos acima é criada a matriz:
1 2 3
4 5 6
7 8 9
14. EXERCÍCIO
1.Elabore um programa que encontre o menor e o maior
elemento de um vetor com 20 elementos.
1.Ler um vetor Q de 20 posições (aceitar somente
números positivos ). Escrever a seguir o valor do maior
elemento de Q e a respectiva posição que ele ocupa no
vetor.
1.Elabore um algoritmo que leia um vetor A de 30
números inteiros e imprima o maior valor.
15. ELABORE UM PROGRAMA QUE ENCONTRE O
MENOR E O MAIOR ELEMENTO DE UM VETOR COM
20 ELEMENTOS.
16. ELABORE UM PROGRAMA QUE ENCONTRE O
MENOR E O MAIOR ELEMENTO DE UM VETOR COM
20 ELEMENTOS.