Em diversas situações os tipos básicos de dados (int, float, char, etc.) não são suficientes para representar a informação que se deseja armazenar. Exemplo, uma palavra: “AULA”. Existe a possibilidade de construção de novos tipos de dados a partir da composição (ou abstração) de tipos de dados primitivos. Esses novos tipos têm um formato denominado ESTRUTURA DE DADOS, que define como os tipos primitivos estão organizados.
Exemplo:
Definir a média das notas de 50 alunos de uma turma.
#define N 50 //constante simbolica
int main(){
/*le as notas de N alunos de uma turma
e calcula a media da turma*/
int i;
float nota, media, soma = 0;
for (i=0; i<=N; i++){
printf("Digite uma nota: ");
scanf("%f",¬a);
soma = soma + nota;
}
media = soma/N;
printf("Media = %0.2f", media);
return 0;
}
int main(){
/*le as notas de N alunos de uma turma
e calcula a media da turma*/
int i;
float nota, media, soma = 0;
for (i=0; i<=N; i++){
printf("Digite uma nota: ");
scanf("%f",¬a);
soma = soma + nota;
}
media = soma/N;
printf("Media = %0.2f", media);
return 0;
}
Mas se além da média quisesse fazer um programa em C para imprimir as notas lidas juntamente com a média da turma .Quando uma determinada Estrutura de Dados for composta de variáveis com o mesmo tipoprimitivo, temos um conjunto homogêneo de dados. Essas variáveis são chamadas de variáveis compostas homogêneas. As variáveis compostas homogêneas unidimensionais são utilizadas para representar arranjos unidimensionais de elementos de um mesmo tipo, em outras palavras, são utilizadas para representar vetores.
A sintaxe para declaração de uma variável deste tipo é: tipo_primitivo identificador[qtde_elementos];
Exemplo:
int dados[5]; // vetor com 5 (0 a 4) elementos do tipo int
Sempre começará a contar a primeira posição do zero.
Para fornecer os elementos de cada posição do vetor é declarado da seguinte forma:
Exemplo:
float valores[4]={1.2,3.6,4.5,2.8};
Se fosse "float dados[3]={1.2};" ou seja há menos valores do que o número de elementos do array, os elementos restantes são inicializados automaticamente com o valor zero.
Importante:
Os vetores não são inicializados automaticamente.
Declarar mais elementos do que defino causa erro de sintaxe.
Omitindo o tamanho do vetor ele terá o mesmo número de elementos digitados.
int n[ ] = {1, 2, 3, 4, 5};
ou seja 5 elementos,5 posições,índices do vetor variam de 0 a 4.
Cada um dos elementos de um vetor é referenciado individualmente por meio de um número inteiro entre colchetes após o nome do vetor.
X = valores[1]; (8.9)
Y = valores[3]; (4.5)
//Ambas as formas atribuem um valor ao elemento 0 (zero) do vetor valores:
i=0;
valores[0] = 6.7;
/*ou
valores[i]=6.7;
O programa a seguir inicializa os dez elementos de um array s com os valores: 2, 4, 6, ..., 20 e o imprime.*/
#include <stdio.h>
#define TAMANHO 10
int main()
{
int s[TAMANHO], j;
for (j=0; j<= TAMANHO - 1; j++)
{
s[j] = 2 + 2*j;
printf("Elemento %d tem valor de %d \n”,j,s[j]);
}
return 0;
}
Com o intuito de contribuir com a disseminação do conhecimento compartilho e recomendo que assistam a vídeo aula abaixo:
"O mérito do homem não reside no conhecimento que tem, mas no esforço que despendeu para alcançá-lo."
Gotthold Ephraim Lessing.
Nenhum comentário:
Postar um comentário