Sei sulla pagina 1di 5

Estrutura de Dados

Matriz
Profª Roberta Braga Tôrres
E-mail: roberta@ucam-campos.br
Estruturas de Dados - Matriz
Contexto
 Imagine uma situação onde você tenha que fazer um programa
para armazenar as notas P1 e P2 dos 70 alunos de uma disciplina.
 SOLUÇÃO TRIVIAL: criar dois vetores unidimensionais.
 float vetorP1[70];
 float vetorP2[70];
 SOLUÇÃO OTIMIZADA: criar um vetor multidimensional, ou seja,
uma MATRIZ composta de N linhas x M colunas.
Estruturas de Dados - Matriz
Contexto
 Geralmente as matrizes são usadas em situações que precisam de
linhas e colunas para identificação de elementos. Exemplos:
 Tabuleiro de Jogos (xadrez, dama, jogo da velha, batalha naval)
 Matrizes matemáticas
 Jogos de loteria
 Palavras-cruzadas
Estruturas de Dados - Matriz
Sintaxe
 A declaração de uma Matriz é feita da seguinte forma:
Tipo_dado nomeMatriz[ LINHAS ] [ COLUNAS ];
 Onde tem-se que:
 nomeMatriz: é o identificador da variável Matriz. Este nome é usado
para fazer referência a matriz no programa.
 LINHAS : índice que indica quantas linhas a matriz terá.
 COLUNAS: índice que indica quantas colunas a matriz terá.
 Tipo_dado: tipo de dado que a matriz irá armazenar (int, float...).
Estruturas de Dados - Matriz
Exemplo
 Declare uma matriz que armazene as notas de P1 e P2 de 50 alunos:
float vNotas[50] [2];
 Inserindo a informação na matriz: NOTAS
vNotas[0] [0] = 10; P1 P2
vNotas[0] [2] = 9.5; 0 10,0 9,5
1 4,5 6,5
vNotas[4] [0] := 2.5;
2
vNotas[4] [1] := 1.5;
3
 Implementação 4 2,5 1,5
FOR ( x = 0; x < 50; x++) ...
{ cout << “Nota P1: “ << vNotas[ x ] [ 1 ]; 50
cout << “Nota P2: “ << vNotas[ x ] [ 2 ] ;
}
Estruturas de Dados - Matriz
Exemplo
 Defina uma matriz que armazene os nomes dos proprietários dos apartamentos de
um prédio. O prédio tem 3 andares e cada andar possui 5 apartamentos.
ANDARES APARTAMENTOS
0 1 2 0 1 2 3 4
0 JOSE 0 JOSE LUIZ
1 JOAO 1 LAIS
2 LAIS 2 JOAO ANA
3 LUIZ ANA
char vNomes[3] [5][20];
4
char vNomes[5][3][20]; // matriz 5 x 3 e nomes com 20 caracteres.
 Implementação
FOR (J=0; J<3; J++)
{ FOR (I = 0. I < 5; I++)
cout << “Andar:” << J << “ - Apto: “ << I;
cin >> vNomes[ I ] [ J ];
}
Exercícios - Lista VI
Estruturas de Dados - Matriz
Exercícios – Lista VI
1. Faça um programa que leia a nota P1, P2 de 10 alunos, bem como o
nome do aluno. Crie um VETOR para armazenar os nomes e uma
MATRIZ para armazenar as notas. Ao final o programa deve apresentar
o nome do aluno e suas respectivas notas.
2. Faça um programa que armazene os nomes dos proprietários dos
apartamentos de um prédio. O prédio tem 3 andares e cada andar
possui 5 apartamentos. Ao final o programa deve listar os nomes dos
proprietários indicando o andar e seu apartamento.
3. Faça um programa para gerar a matriz A2 x 4, tal que a i j = 5 + 2j, se i=j ou
aij = i2 - j, se i ≠ j.
Exemplo: índices 0 1 2 3
0
1
Estruturas de Dados - Matriz
Exercícios – Lista VI
4. Faça um programa para:
a) Gerar a matriz M2x3, tal que mij = 2i+j
b) Gerar a matriz transposta de M. A matriz transposta é toda matriz
onde são trocadas as linhas pelas colunas ou vice-versa. Logo a matriz
transposta de M será uma matriz com 3 linhas e 2 colunas. Exemplo:
A B C A D
D E F B E
Matriz 2x3 C F
Transposta 3x2
c) Mostre a matriz M e a sua transposta.

Potrebbero piacerti anche