Vejamos o seguinte caso: um aluno possui ao longo do ano, 50 notas em uma determinada matéria. Precisamos ler essas 50 notas e calcular sua média. Poderemos também organizar as notas por ordem crescente, decrescente, saber quantas vezes ele tirou dez ou zero...
Para fazermos isto, o ideal é criarmos uma estrutura de dados que suporte essas 50 notas. Essa estrutura deverá armazenar as 50 notas do tipo float.
As Estruturas de Dados Homogêneas de uma Dimensão ou simplesmente vetores fazem isso muito bem :-)
Vetores são variáveis compostas de uma dimensão que armazenam dados de um mesmo tipo de primitivo.
Veja a imagem:

Os vetores também são conhecidos como arrays, ou matrizes de uma dimensão, coleções, entre outros nomes.
Os vetores possuem índices que usamos para acessar o elemento armazenado em uma de suas posições. Em C, o índice inicia em 0 (zero) e termina em (tamanho do vetor - 1).
DECLARAÇÃO
Conforme vimos na imagem, podemos declarar vetores de duas formas. Declarando-o apenas, sem os valores e, declarando e atribuindo valores a suas posições.
float notas[10];
char nome[20];
int idades[5] = {18, 24, 33, 54, 15};
No exemplo acima, declaramos três vetores: um vetor de notas de 10 elementos, um vetor para armazenar um nome de 19 posições (já explico o por quê 19 e não 20) e um vetor de idades com 5 elementos já atribuidos.
O ideal é criar antes do método main(), constantes para os tamanhos dos vetores, assim:
#define TAMNOTAS 10
#define TAMIDADES 5
#define TAMNOME 20
Desta forma, os vetores são criados durante a execução, mas apenas o vetor de idades possuirá valores atribuidos, sendo eles:
idades[0] = 18
idades[1] = 24
idades[2] = 33
idades[3] = 54
idades[5] = 15
LEITURA
Para ler um vetor numérico, basta usar o scanf como sempre, mas informar em qual índice o dado será armazenado, por exemplo:
printf("Informe a terceira idade: ")
scanf("%d", &idades[2]);
Sim, o índice é o 2 e não o 3, pois como o índice inicia em zero, temos:
idades[0] - primeiro elemento
idades[1] - segundo elemento
idades[2] - terceiro elemento
E assim, por diante. Veja as características dos vetores na próxima imagem:

O ideal seria ler todos os elementos do vetor em uma estrutura de repetição. O ideal é fazer com o for:
int i;
for(i = 0; i < TAMIDADES; i++){
printf("Informe a idade %d: ", i + 1);
scanf("%d", &idades[i]);
}
ATRIBUIÇÃO
Podemos atribuir um dado ou expressão, diretamente a uma posição do vetor, como no exemplo:
notas[4] = 9.8;
ou usar em um for, uma variável para indicar o índice:
notas[i] = valor_da_nota;
EXIBIÇÃO
Exibir o conteúdo de um vetor é fazer uma iteração com for:
int i;
for(i = 0; i < TAMNOTAS; i++){
printf("\nNota %.2f: ", notas[i]);
}
Baixe aqui alguns exemplos para estudar.
Agora é hora de fazer os exercícios da aula 09 - Parte I.
Na sequencia, iremos estudar os vetores de caracteres ou strings.
Retornar ao índice do curso.
Avançar à continuação da aula 09 - Strings
Nenhum comentário:
Postar um comentário