A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

1MF. Vectores Tipo de dado usado para representar um CONJUNTO de dados do um mesmo tipo Estrutura de dados homogénea unidimensional Ex: Ler a nota de 3.

Apresentações semelhantes


Apresentação em tema: "1MF. Vectores Tipo de dado usado para representar um CONJUNTO de dados do um mesmo tipo Estrutura de dados homogénea unidimensional Ex: Ler a nota de 3."— Transcrição da apresentação:

1 1MF. Vectores Tipo de dado usado para representar um CONJUNTO de dados do um mesmo tipo Estrutura de dados homogénea unidimensional Ex: Ler a nota de 3 alunos e calcular a média int nota0, nota1, nota2; printf(entre com a 1a. nota); scanf(%d%d%d, ¬a0, ¬a1, ¬a2); printf(média = %f, (nota0 + nota1 + nota2) / 3)); E se forem 3000 alunos??

2 2MF. Declaração de Vectores Tipo nomedavariável [nº de lementos] int notas[4]; notas é uma variável do tipo array de 4 elementos do tipo int. A sua representação será: a[0] a[1] a[2] a[3] em que cada posição guarda um inteiro.

3 3MF. Declaração de Vectores Ocupam posições de memória contíguas e neste caso o seu índice varia obrigatoriamente de 0 a 3. Ou seja, tem-se, para essas 4 posições os elementos a[0], a[1], a[2], a[3] São tratados como se fossem quatro variáveis distintas. Atribuindo os valores 1,2 e 3 respectivamente, aos três primeiros elementos a[0]=1; a[1]=2; a[2]=3; Teremos: a[0] a[1] a[2] a[3] 123

4 4MF. Declaração de Vectores O nome array é uma constante e representa o endereço da 1.ª posição do array. Isto é: a==&a[0] /* O operador & dá o endereço da variável. Neste caso dá o endereço de a[0]*/ Supondo que o vector se iniciava na posição de memória com o endereço 100, e que cada inteiro gasta 2 bytes, ter-se-ia: a==100 &a[0]==100 &a[1]==102 &a[2]==104 &a[3]==106

5 5MF. Índice dos Vectores Em C não existe declaração de vector dinâmico O tamanho de um vector tem de ser determinado no momento da compilação Exemplo: int alunos; int notas [ alunos ]; : :: printf (Número de alunos); scanf (%d, &alunos); NÃO É VÁLIDO !!!

6 6MF. Inicialização de vectores int a[4]={1,2,3}; /*irá definir (criar) um vector de quatro inteiros e inicializar a[0] a 1, a[1] a 2, e a[2] a 3. */ int a[ ]={1,2,3}; /*irá definir um vector de apenas três elementos e inicializa-los de forma idêntica ao anterior.*/ char a[3]={b,k,n}; /*irá definir (criar) um vector de três caracteres e inicializar a[0] a b, a[1] a k, e a[2] a n. */

7 7MF. Vectores – Observações importantes Solução: declarar um vector que suporte um número máximo de elementos, mesmo que o vector não fique todo completo Exemplo: int alunos; int notas [ 70 ]; : :: printf (Número de alunos); scanf (%d, &alunos);

8 8MF. Vectores – Observações importantes C não realiza verificação de limites em vectores nada impede o acesso além do fim do vector sempre que necessário faça a verificação dos limites

9 Exercício: Calcular a média de 300 alunos #include #define N_ALUNOS 300 main( ) {int i; floatnotas [ N_ALUNOS ], media = 0; for ( i = 0; i < N_ALUNOS; i++ ) { printf (Digite a nota %d, i+1); scanf (%f, ¬as[ i ]); media += notas [ i ]; } printf ( Média = %f \n, media / N_ALUNOS); for ( i = 0; i < N_ALUNOS; i++ ) { printf (\n Nota do aluno %d =, i+1); printf (%f \n, notas[ i ]); }

10 Vectores – Obs importantes #include #define TAMANHO 100 main( ) { int quantidade, media = 0; float notas [ TAMANHO ]; // quantidade deve ser TAMANHO printf ( quantas notas devo ler ?); scanf(%d, &quantidade); for ( i = 0; i < quantidade; i++) { printf ( nota %d, i+1); scanf(%d, ¬as [ i ]); } ::: for ( i = 0; i < quantidade; i++) media += notas [ i ]; ::: }

11 11MF. Passando um vector para uma função #include int maximum( int [] ); /* ANSI function prototype */ main( ) { int values[5], i, max; printf(Digite com 5 numeros:\n"); for( i = 0; i < 5; ++i ) scanf("%d", &values[i] ); max = maximum( values ); printf("\nValor Maximo: %d\n", max ); }


Carregar ppt "1MF. Vectores Tipo de dado usado para representar um CONJUNTO de dados do um mesmo tipo Estrutura de dados homogénea unidimensional Ex: Ler a nota de 3."

Apresentações semelhantes


Anúncios Google