Vetores em C

De Wiki Cursos IFPR Foz
Revisão de 23h33min de 20 de agosto de 2014 por Evandro.cantu (discussão | contribs) (→‎Exercícios com vetores)
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para navegaçãoIr para pesquisar

Vetores em C

Um vetor unidimensional pode ser definido como um conjunto finito e ordenado de elementos homogêneos.

Na declaração de um vetor a linguagem C reserva um espaço na memória suficiente para armazenar o número de células especificadas em função do tipo dos dados. Por exemplo:

 int vetor[10];
Especifica um vetor de inteiros com 10 posições.

O acesso aos campos do vetor é feito de maneira indexada, na qual o primeiro elemento é acessado pelo índice 0, o segundo por 1, e assim por diante.

Extração de um dado armezanado em um vetor
A extração é uma função que aceita um vetor e um índice e retorna um elemento do vetor.
 int x;
 int vetor[10];
 x=vetor[0];
Atribui a variável x o valor do primeiro elemento do vetor.
Armazenamento de um dado armezanado em um vetor
A operação de armazenamento aceita um vetor e um índice e atribui um valor a um elemento do vetor.
 int x;
 int vetor[10];
 vetor[0]=x;
Atribui ao primeiro elemento do vetor o valor da variável x.
Tamanho máximo de um vetor
O tamanho máximo de um vetor é definido na sua declaração e não pode ser alterado durante a execução do programa. Uma técnica útil é utilizar um identificador de constante a fim de facilitar o trabalho para modificar o tamanho de um vetor[1]. Por exemplo,
 #define NUMAX 100
 int i;
 int a[NUMAX];
 for (i=0; i<NUMAX; i++)
   a[i]=0;
Alterando apenas o valor de NUMAX não há necessidade de alterar o código em outras partes do programa.

Vetores unidimencionais

Um vetor unidimensional é usado quando necessário para manter uma quantidade de itens na memória e para referenciar todos os itens de uma maneira uniforme.

Exemplo: Vetor para armazenar as médias mensais de precipitação de chuva e depois calcular a precipitação média anual.
 #include <stdio.h>
 #define NUMAX 12
 int main ()
 {
   int   i;
   int   precipitacao[NUMAX];
   int   total=0;
   float media;
   for (i=0; i<NUMAX; i++){
     printf("Digite a precipitação mês %d: ", i+1);
     scanf("%d", &precipitacao[i]);
     total += precipitacao[i];
   }
   media=total/NUMAX;
   printf("Média de precipitação anual: %f\n", media);
   return(0);
 }

Exercícios com vetores

  1. Construa uma função que receba como entrada 10 números, armazene eles em um vetor, e diga qual elemento é o maior e seu valor.
  2. Construa uma função que receba como entrada 10 números inteiros aleatórios entre 0 e 9, armazene eles em um vetor, e em seguida verifique se um número digitado está no vetor e quantas ele aparece (pesquise e utilize a função rand()%10)

Referências

  1. TENENBAUM, Aaron M.; LANGSAM, Yedidyah; AUGENSTEIN, Moshe. Estruturas de dados usando C. Makron Books, 1995.

--Evandro.cantu (discussão) 10h31min de 12 de junho de 2014 (BRT)