Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Aula 10
Mairum Ceoldo Andrade
Contedo
Matriz bidimensional
Conceito de matriz
Declarao de uma matriz
Incluso de dados em uma matriz
Leitura de dados de uma matriz
Matriz
Quero fazer um programa para controlar a notas dos
alunos, preciso registrar quatro notas diferentes mais
a frequncia, tenho ao todo 60 alunos!
Vetor Notas 1
A1
A2
A3
A4
.....
A59
A60
A3
A4
.....
A59
A60
A3
A4
.....
A59
A60
A2
A3
A4
.....
A59
A60
A2
A3
A4
.....
A59
A60
Vetor Notas 2
A1
A2
Vetor Notas 3
A1
A2
Vetor Notas 4
A1
Vetor Faltas
A1
Matriz
5 vetores?
Ser que a melhor opo?
Como faramos em papel?
Aluno1
Aluno2
Aulno3
Aluno4
Aluno60
Nota 1
V1
V2
V3
V4
.....
V60
Nota 2
V1
V2
V3
V4
.....
V60
Nota 3
V1
V2
V3
V4
.....
V60
Nota 4
V1
V2
V3
V4
.....
V60
Faltas
V1
V2
V3
V4
.....
V60
4
Matriz Declarao
Linguagem C++
tipo nomeDaMatriz[tamanahoD1] [tamanahoD2] ;
Exemplos de uso
/* declara uma matriz para guardar 3 informaes diferente de 300 paciente */
float pacientes[300] [3];
/* declara uma matriz de 4 notas para 100 alunos */
float notas[100] [4];
/* Declara uma matriz para guardar 1000 nomes de at 30 caracteres */
char nome[1000] [31];
5
Matriz
float notas[8] [4];
Aluno1 Aluno2 Aulno3 Aluno4
Aluno60
Nota 1
V1
V2
V3
V4
.....
V60
Nota 2
V1
V2
V3
V4
.....
V60
Nota 3
V1
V2
V3
V4
.....
V60
Nota 4
V1
V2
V3
V4
.....
V60
Faltas
V1
V2
V3
V4
.....
V60
Qual correto?
Matriz
Representao em Memria
Posio mat[1][1]
1200 + 2*1*4 + 1*4 = 1212
Matriz Inicializao
Linguagem C++
tipo nomeDaMatriz[tamanahoD1] [tamanahoD2] = { dado1, dado2, ..., dadotamanhoD1xD2};
Linguagem C++
/* Inicializa um matriz de 3 linhas e 4 colunas */
int matrx [3][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
/* Inicializa uma matriz com 3 nomes de at 10 caracteres */
char str_vect [3][11] = {"Joao", "Maria", "Jose"};
/* Inicializa uma matriz de 5 linhas e 2 colunas */
int matrx [][2] = {1,2,2,4,3,6,4,8,5,10};
8
Linguagem C++
/* atribuir o valor 13 primeira posio da primeira linha */
matrx [0][0] = 13;
/* Atribuir o caracter P a primeira posio da linha terceira linha */
char str_vect [2][0] = P;
/* Atribuir o valor 11 a segunda coluna da segunda linha */
int matrx [1][1] = 11;
9
Matriz char
Linguagem C++
for(int L = 0; L<tamanhoLinha; L++) {
cout<<"\nLinha nmero <<L+1 <<: ";
cin.getline(nomeMatriz[L], tamanhoDeclardoNaColuna);
}
10
na
ia c a
r
o ti
e
T r
P
12
Algoritmos
Atividade 10
Mairum Ceoldo Andrade
14
15
16