Baixe o app para aproveitar ainda mais
Prévia do material em texto
Matrizes Programação de Computadores Ler as 5 notas de 7 alunos (identificados por um número entre 0 e 6), calcular a média de cada aluno, e após imprimir as notas e médias dos alunos, classificados pela média. Quantas variáveis para armazenar as notas e as médias são necessárias para resolver este problema? Problema: 42 variáveis simples Ou 7 vetores (um por aluno), cada qual com 6 elementos (5 notas + média) Resposta: 0 1 2 3 4 5 0 1 2 3 4 5 6 5 Notas + Média = 6 elementos por vetor Arranjo dos vetores 0 1 53 42 0 1 2 3 4 5 6 Representação espacial Cada elemento desta matriz necessita de dois índices para ser especificado notas é portanto uma matriz bidimensional 5.4 notas[3] [1] Arranjo de vetores é uma matriz Um arranjo multidimensional é o arranjo que necessita de mais de um índice para referenciar seus elementos. Ex.: arranjo bidimensional ou matriz de duas dimensões. Acesso aos elementos da matriz notas notas[0][0] notas[0][1] … notas[0][5] notas[1][0] notas[1][1] … notas[1][5] notas[2][0] notas[2][1] … notas[2][5] . . . notas[6][0] notas[6][1] … notas[6][5] • #define MAXLIN 7 • #define MAXCOL 6 • float notas [MAXLIN] [MAXCOL]; Outra forma: • float notas[7][6]; Declaração de Matrizes Primeiro índice: linha; Segundo índice: coluna. Organização de matrizes bidimensionais Seja qual for o número de dimensões*, os elementos de um arranjo são sempre de mesmo tipo. * número de índices necessários para acessar um elemento da matriz = número de dimensões da matriz. Atenção! int valores [MAXLIN][MAXCOL]; for (i=0;i<MAXLIN; i++) for (j=0;j <MAXCOL;j++) cin<<valores[i][j]; 0 1 2 0 1 2 i 0 j 0 9 valores[0] [0] 9 Leitura de dados e gravação na matriz valores Seja valores uma matriz 3 X 3 for (i=0;i<MAXLIN; i++) for (j=0;j <MAXCOL;j++) cin<<valores[i][j]; 0 1 2 0 1 2 i 0 j 1 9 valores[0] [1] 5 5 Seja valores uma matriz 3 X 3 Leitura de dados e gravação na matriz valores for (i=0;i<MAXLIN; i++) for (j=0;j <MAXCOL;j++) cin<<valores[i][j]; 0 1 2 0 1 2 i 0 j 2 9 valores[0] [2] 7 5 7 Seja valores uma matriz 3 X 3 Leitura de dados e gravação na matriz valores for (i=0;i<MAXLIN; i++) for (j=0;j <MAXCOL;j++) cin<<valores[i][j]; 0 1 2 0 1 2 i 0 j 3 (fim do for j) 9 5 7 Seja valores uma matriz 3 X 3 Leitura de dados e gravação na matriz valores for (i=0;i<MAXLIN; i++) for (j=0;j<MAXCOL;j++) cin<<valores[i][j]; 0 1 2 0 1 2 i 1 j 0 9 5 7 11 valores[1] [0] 11 Seja valores uma matriz 3 X 3 Leitura de dados e gravação na matriz valores for (i=0;i<MAXLIN; i++) for (j=0;j <MAXCOL;j++) cin<<valores[i][j]; 0 1 2 0 1 2 i 1 j 1 9 5 7 11 valores[1] [1] 4 4 Seja valores uma matriz 3 X 3 Leitura de dados e gravação na matriz valores 1) Crie um programa em C++ que realize o preenchimento de uma matriz 5x2 com números inteiros e, em seguida, imprima esses dados na tela para o usuário. 2) Crie um programa em C++ que realize o preenchimento de uma matriz 3x4 com números inteiros e, em seguida, imprima na tela todos os valores pares (em uma linha da tela) e em seguida os valores ímpares (em outra linha da tela). 3) Crie um programa em C++ que realize o preenchimento de uma matriz 3x4 com caracteres e, em seguida, imprima na tela apenas as vogais presentes na matriz. 4) Crie um programa em C++ que realize o preenchimento de uma matriz 2x4 com números reais e, em seguida, após a leitura completa, imprima na tela a média dos valores. 5) Crie um programa em C++ que realize o preenchimento de uma matriz 4x3 com números inteiros e, em seguida, após a leitura completa, imprima para o usuário o maior e o menor valor. 6) Crie um programa em C++ que realize o preenchimento de uma matriz 4x2 com palavras e, em seguida, após a leitura completa, imprima para o usuário a maior e a menor palavra.
Compartilhar