Baixe o app para aproveitar ainda mais
Prévia do material em texto
Estrutura de Dados Aula 02 Orlei José Pombeiro Organização da Aula � Nesta aula veremos as estruturas: • Vetores • Matrizes • Registros FIM Contextualização Vetores, Matrizes e Regitros Vetores Elemento: 1º 2º 3º 4º 5º Índice: 0 1 2 3 4 Valores do Vetor: 7 23 74 3 10 Matrizes Colunas Linhas 0 1 2 3 0 4 75 21 1 45 13 2 63 97 3 81 7 4 5 8 Registros FIM Memória • Caracter: 1 byte • Inteiro: 2 bytes • Real: 4 bytes • Vetor: multiplica o nº de casas pelo tipo do vetor. • Registro: soma os tipos Instrumentalização Estruturas de Controle Vetor int x, cor[5]; for(x=0; x<5; x++) { printf(“Informe cor %d:”, x+1); scanf(“%s”, &cor[x]); } azul verde roxo lilás preto Vetor int x, soma=0, idade[5]; for(x=0; x<7; x++) {printf(“Informe idade:”); scanf(“%d”, &idade[x]); soma=soma+idade[x]; } printf(“Média: %f”, soma/7); 23 45 15 27 37 18 34 Matriz int x, y, mat[3][3]; 0,0 0,1 0,2 1,0 1,1 1,2 2,0 2,1 2,2 X (linha) Y (coluna) Matriz Disposição da matriz na memória 0,0 0,1 0,2 0,3 1,0 1,1 1,2 1,3 2,0 2,1 2,2 2,3 Matriz int x,y,mat[3][3]; for(x=0; x<3; x++) for(y=0; y<3; y++) mat[x][y] = x + y; X Y 0 1 2 1 2 3 2 3 4 Registros struct Dados { char nome[45]; int idade; float peso, altura; }; struct Dados reg; Registros struct Dados { char nome[45]; int idade; flota peso, altura; } vet[7]; Vetor: vet Registros FIM struct Dados { char nome[45]; int idade; flota peso, altura; } vet[7]; struct Dados reg; reg.idade = 37; vet[3].idade = 23; Aplicação Estruturas de Controle Aplicação Criar um programa que armazena a idade, o peso e a altura de 50 pessoas. Após armazenado os dados, informar quantos estão com o peso acima da média deste grupo. struct Dados { int idade; float peso, altura; }; struct Dados pessoa[50]; int x, qtd_peso = 0; float media = 0; for(x=0; x<50; x++) { printf(“Informe a idade, a altura e o peso do %d º:”, x+1); scanf(“%d %f %f”, pessoa[x].idade, pessoa[x].altura, pessoa[x].peso); media+=pessoa[x].peso; } media = media/50; for(x=0; x<50; x++) if(pessoa[x].peso > media) qtd_peso++; printf(“Quantidade acima da média:%d”,qtd_peso ); Aplicação Como ficaria o mesmo programa mas para 10 turmas de 50 pessoas. Após armazenado os dados, informar quantos estão com o peso acima da média por grupo. struct Dados { int idade; float peso, altura; }; struct Dados pessoa[10][50]; int x, y, qtd_peso[10]; float media[10]; for(x=0; x<10; x++) { qtd_peso[x] = 0; media[x] = 0; } for(y=0; y<10; y++) for(x=0; x<50; x++) { printf(“Informe a idade, a altura e o peso do %d º do grupo %d:”, x+1, y+1); scanf(“%d %f %f”, pessoa[y][x].idade, pessoa[y][x].altura, pessoa[y] [x].peso); media[y] += pessoa[y] [x].peso; } media[y] = media[y]/50; for(y=0; y<10; y++) { for(x=0; x<50; x++) { if(pessoa[y][x].peso>media) qtd_peso[y]++; } printf(“Quantidade acima da média:%d do grupo:%d”, qtd_peso[y], y+1 ); } FIM Síntese Estruturas de Controle Síntese • É muito vasta a aplicabilidade de vetores, matrizes e registros em estruturas computacionais. FIM � Pois é constante a necessidade de agrupamento de um (ou vários) tipo(s) de dado para um conjunto de indivíduos ou objetos. Referências de Apoio •DEITEL, C How to Program; Ed. Person Education do Brasil, 2012. http://www.pearson.com.br/servicos.asp?pa g_id=82&area_pai=59&id_p=3 � https://programacaodes complicada.wordpress.c om/indice/linguagem-c/
Compartilhar