ESTRUTURAS DE DADOS Algoritmos Aula 04 Estruturas de

  • Slides: 12
Download presentation
ESTRUTURAS DE DADOS Algoritmos – Aula 04

ESTRUTURAS DE DADOS Algoritmos – Aula 04

Estruturas de Dados Tópicos � Vetores � Matrizes � Registro de Conjuntos � Conjuntos

Estruturas de Dados Tópicos � Vetores � Matrizes � Registro de Conjuntos � Conjuntos de Registros

Estruturas de Dados Os tipos primitivos (inteiro, real, caracter e lógico) não suficientes para

Estruturas de Dados Os tipos primitivos (inteiro, real, caracter e lógico) não suficientes para representar todos os tipos de informação. Particularmente quando temos mais de uma informação relacionada. Ex: Lista dos nomes dos alunos de uma sala, endereço de alguém etc. Utilizaremos os tipos primitivos para construir outras estruturas de dados mais complexas.

Vetores Também denominados Estruturas compostas homogêneas unidimensionais Permitem a manipulação de um conjunto de

Vetores Também denominados Estruturas compostas homogêneas unidimensionais Permitem a manipulação de um conjunto de informações de um mesmo tipo primitivo Declaração : tipo vetor[40]; Onde: � vetor: Nome da estrutura unidimensional � 40: Limite final do vetor, iniciando o índice em 0 e indo ate 39 � tipo: Tipo primitivo base do vetor

Vetores � Manipulação: float vetor[40]; vetor[ 6 ] = 6. 5; vetor [ 1

Vetores � Manipulação: float vetor[40]; vetor[ 6 ] = 6. 5; vetor [ 1 ] = 7. 8; vetor [ 3 ] = 5, 3; scanf("%d", &A); // supondo que foi informado 5 vetor [ A ] = 9. 8; vetor [ A-1 ] = 9. 1; scanf("%f", vetor[A+3]); // supondo que foi informado 4, 7 vetor 7. 8 0 39 1 5. 3 2 3 9. 1 4 9. 8 5 6 4. 7 7 8 37 38

Vetores Algoritmo 4. 1 – Notas acima da média usando variáveis simples int Nota.

Vetores Algoritmo 4. 1 – Notas acima da média usando variáveis simples int Nota. Acima; float A, B, C, D, E, F, G, H, I, J, Media; Nota. Acima = 0; scanf("%f", &A); . . . scanf("%f", &J); Media = (A + B + C + D + E + F + G + H + I + J)/10; if (A > Media) { Nota. Acima; } if (B > Média) { Nota. Acima++; }. . . if(J > Média) { Nota. Acima++; } printf("%d", Nota. Acima);

Vetores Algoritmo 4. 2 – Notas acima da média usando vetor float vetor [10];

Vetores Algoritmo 4. 2 – Notas acima da média usando vetor float vetor [10]; int Nota. Acima, X; float Soma, Média; Soma =0; Nota. Acima =0; for(X= 1; X<10; X++){ scanf ("%f", &vetor[X] ); Soma = Soma + vetor[X]; }; Média = Soma / 10; for( X = 1; X <10 ; X++){ if( vetor[X] > Média ) Nota. Acima++; } printf("%d", Nota. Acima);

Matrizes Também denominadas Estruturas compostas homogêneas multidimensionais Permitem a manipulação de um conjunto de

Matrizes Também denominadas Estruturas compostas homogêneas multidimensionais Permitem a manipulação de um conjunto de informações de um mesmo tipo primitivo Declaração: int SALA [4][5]; Onde: � SALA: Nome da matriz � 4: capacidade da primeira dimensão � 5: capacidade da segunda divisão. � int: Tipo primitivo base da matriz

Matrizes � Manipulação: Int A, B; SALA [ 1][2] = 5; SALA [ 2][1]=

Matrizes � Manipulação: Int A, B; SALA [ 1][2] = 5; SALA [ 2][1]= 6; SALA [ 0][1 ] = 7; A = 3; B = 2; SALA [ A][B ] = 8; SALA [ A ][B-2 ] = 9; SALA [ A-2 ][B-2 ] = 10; SALA [ B ][ A ] = 11; SALA [ B-2 ][ A ] = 12; MSALA 0 10 2 3 2 7 0 1 1 12 5 6 9 3 11 8

Matrizes Exemplo: Cartão da Loteria Esportiva Jg Coluna 1 Ept Coluna 2 1 Santos

Matrizes Exemplo: Cartão da Loteria Esportiva Jg Coluna 1 Ept Coluna 2 1 Santos Corinthians 2 Flamengo Fluminense 3 Palmeiras São Paulo 4 Vasco Botafogo 5 Portuguesa XV de jaú 6 São Caetano XV de Piracicaba 7 Grêmio Internacional 8 Havaí Figueirense 9 Coritiba Atlético-PR 10 Paysandú Juventude 11 Atlético-MG Cruzeiro 12 Brasiliense Ponte Preta 13 Fortaleza Goiás 14 Esportivo Londrina

Matrizes Algoritmo 4. 3 – Loteria Esportiva, jogo mais marcado int Loteria[14][3]; int I,

Matrizes Algoritmo 4. 3 – Loteria Esportiva, jogo mais marcado int Loteria[14][3]; int I, J, mais. Mar, n. Jogo, mar. Lin; mais. Mar = 0; for(int I = 0; i<14; i++){ mar. Lin = 0; for( J = 0; j <3; j++){ if(m. Loteria[I][J] ==1){ mar. Lin = mar. Lin + 1; } } if(mar. Lin > mais. Mar} { mais. Mar = mar. Lin; n. Jogo = I; } } cout << “Jogo mais marcado: " << n. Jogo << mais. Mar; "com " <<

Matrizes Algoritmo 4. 4 – Loteria Esportiva, coluna mais marcada int Loteria [14][ 3];

Matrizes Algoritmo 4. 4 – Loteria Esportiva, coluna mais marcada int Loteria [14][ 3]; inteiro I, J, mais. Mar, n. Coluna, mar. Col; mais. Mar = 0; for(int J=0; J<3; J++){ mar. Col=0; for(int I=0 ; I<14; I++){ if(m. Loteria[ I][J] == 1){ mar. Col = mar. Col + 1; } } if(mar. Col > mais. Mar){ mais. Mar = mar. Col; n. Coluna = J; } } cout << "Coluna mais marcada: " << n. Coluna << "com " << mais. Mar;