Vetores em C: mudanças entre as edições
De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
(2 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 36: | Linha 36: | ||
:Alterando apenas o valor de NUMAX não há necessidade de alterar o código em outras partes do programa. | :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. | :'''Exemplo''': Vetor para armazenar as médias mensais de precipitação de chuva e depois calcular a precipitação média anual. | ||
Linha 45: | Linha 46: | ||
{ | { | ||
int i; | int i; | ||
int | int precipitacao[NUMAX]; | ||
int total=0; | int total=0; | ||
float media; | float media; | ||
for (i=0; i<NUMAX; i++){ | for (i=0; i<NUMAX; i++){ | ||
printf("Digite a precipitação mês %d: ", i+1); | printf("Digite a precipitação mês %d: ", i+1); | ||
scanf("%d", & | scanf("%d", &precipitacao[i]); | ||
total += | total += precipitacao[i]; | ||
} | } | ||
media=total/NUMAX; | media=total/NUMAX; | ||
Linha 58: | Linha 59: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==Exercícios com vetores== | |||
#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. | |||
#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== | ==Referências== |
Edição atual tal como às 23h33min de 20 de agosto de 2014
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
- 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.
- 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
- ↑ 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)