Escolar Documentos
Profissional Documentos
Cultura Documentos
Matrizes
Marcio K. Oikawa (Teoria)
Marco/2015
Introducao
Introducao
Matrizes
0
1
2
3
Sintaxe:
<tipo> <nome>[][] = new <tipo> [<lin>][<col>];
<tipo>[][] <nome> = new <tipo> [<lin>][<col>];
<tipo>[] <nome>[] = new <tipo> [<lin>][<col>];
Semantica:
A declaracao de uma matriz e similar a um vetor convencional. A
diferenca e que deve-se declarar os dois ndices (quando a matriz
for bidimensional).
0
1
2
3
-3
-1
11
13
21
-4
-8
int a =
M[0][3]
M[2][2]
M[3][4]
3;
= a;
= M[1][3] + M[0][2];
= 32;
Exemplo 1
Exemplo
Exemplo
Algoritmo 2: Identificacao do menor n
umero inteiro
1: ...
2: {... e depois ache o menor elemento}
3: menor M[0][0]
4:
5:
6:
7:
8:
9:
10:
11:
para i 0 at
e 3 faca
para j 0 at
e 4 faca
se M[i][j] < menor ent
ao
menor M[i][j]
fim se
fim para
fim para
12:
13:
14:
Em Java
Em Java
Alguns detalhes sobre matrizes em Java:
O n
umero de elementos e obrigatoriamente um n
umero inteiro
positivo;
Pode-se descobrir a quantidade de elementos do vetor
acessando o atributo length;
Descobrindo a dimensao da matriz
int M[][] = new int [10][12];
int linhas = M.length;
int colunas = M[0].length;
Acesso a celulas nao alocadas do vetor provocam erro de
execucao.
Outro exemplo
Exemplo
0
-2
-1
M[i][j]
soma
int soma = 0;
for (int i=0; i<2; i++){
for (int j=0; j<3; j++){
soma = soma + M[i][j];
}
}
Exemplo
0
-2
-1
i
X
j
X
M[i][j]
X
soma
0
int soma = 0;
for (int i=0; i<2; i++){
for (int j=0; j<3; j++){
soma = soma + M[i][j];
}
}
Exemplo
0
-2
-1
i
X
0
j
X
X
M[i][j]
X
X
soma
0
0
int soma = 0;
for ( int i=0 ; i<2; i++){
for (int j=0; j<3; j++){
soma = soma + M[i][j];
}
}
Exemplo
0
-2
-1
i
X
0
j
X
X
M[i][j]
X
X
soma
0
0
int soma = 0;
for (int i=0; i<2 ; i++){
for (int j=0; j<3; j++){
soma = soma + M[i][j];
}
}
Exemplo
0
-2
-1
i
X
0
j
X
0
M[i][j]
X
-2
soma
0
0
int soma = 0;
for (int i=0; i<2; i++){
for ( int j=0 ; j<3; j++){
soma = soma + M[i][j];
}
}
Exemplo
0
-2
-1
i
X
0
j
X
0
M[i][j]
X
-2
soma
0
0
int soma = 0;
for (int i=0; i<2; i++){
for (int j=0; j<3 ; j++){
soma = soma + M[i][j];
}
}
Exemplo
0
-2
-1
i
X
0
j
X
0
M[i][j]
X
-2
soma
0
-2
int soma = 0;
for (int i=0; i<2; i++){
for (int j=0; j<3; j++){
soma = soma + M[i][j] ;
}
}
Exemplo
0
-2
-1
i
X
0
0
j
X
0
1
M[i][j]
X
-2
8
soma
0
-2
-2
int soma = 0;
for (int i=0; i<2; i++){
for (int j=0; j<3; j++ ){
soma = soma + M[i][j];
}
}
Exemplo
0
-2
-1
i
X
0
0
j
X
0
1
M[i][j]
X
-2
8
soma
0
-2
-2
int soma = 0;
for (int i=0; i<2; i++){
for (int j=0; j<3 ; j++){
soma = soma + M[i][j];
}
}
Exemplo
0
-2
-1
i
X
0
0
j
X
0
1
M[i][j]
X
-2
8
soma
0
-2
6
int soma = 0;
for (int i=0; i<2; i++){
for (int j=0; j<3; j++){
soma = soma + M[i][j] ;
}
}
Exemplo
0
-2
-1
i
X
0
0
0
j
X
0
1
2
M[i][j]
X
-2
8
0
soma
0
-2
6
6
int soma = 0;
for (int i=0; i<2; i++){
for (int j=0; j<3; j++ ){
soma = soma + M[i][j];
}
}
Exemplo
0
-2
-1
i
X
0
0
0
j
X
0
1
2
M[i][j]
X
-2
8
0
soma
0
-2
6
6
int soma = 0;
for (int i=0; i<2; i++){
for (int j=0; j<3 ; j++){
soma = soma + M[i][j];
}
}
Exemplo
0
-2
-1
i
X
0
0
0
j
X
0
1
2
M[i][j]
X
-2
8
0
soma
0
-2
6
6
int soma = 0;
for (int i=0; i<2; i++){
for (int j=0; j<3; j++){
soma = soma + M[i][j] ;
}
}
Exemplo
0
-2
-1
i
X
0
0
0
0
j
X
0
1
2
3
M[i][j]
X
-2
8
0
X
soma
0
-2
6
6
6
int soma = 0;
for (int i=0; i<2; i++){
for (int j=0; j<3; j++ ){
soma = soma + M[i][j];
}
}
Exemplo
0
-2
-1
i
X
0
0
0
0
j
X
0
1
2
3
M[i][j]
X
-2
8
0
X
soma
0
-2
6
6
6
int soma = 0;
for (int i=0; i<2; i++){
for (int j=0; j<3 ; j++){
soma = soma + M[i][j];
}
}
Exemplo
0
-2
-1
i
X
0
0
0
0
j
X
0
1
2
3
M[i][j]
X
-2
8
0
X
soma
0
-2
6
6
6
int soma = 0;
for (int i=0; i<2; i++){
for (int j=0; j<3; j++){
soma = soma + M[i][j];
}
}
Exemplo
0
-2
-1
int soma = 0;
i
X
0
0
0
0
1
j
X
0
1
2
3
X
M[i][j]
X
-2
8
0
X
X
soma
0
-2
6
6
6
6
Exemplo
0
-2
-1
int soma = 0;
i
X
0
0
0
0
1
j
X
0
1
2
3
0
M[i][j]
X
-2
8
0
X
4
soma
0
-2
6
6
6
6
Exemplo
0
-2
-1
int soma = 0;
i
X
0
0
0
0
1
j
X
0
1
2
3
0
M[i][j]
X
-2
8
0
X
4
soma
0
-2
6
6
6
6
Exemplo
0
-2
-1
int soma = 0;
i
X
0
0
0
0
1
j
X
0
1
2
3
0
M[i][j]
X
-2
8
0
X
4
soma
0
-2
6
6
6
10
Exemplo
0
-2
-1
int soma = 0;
i
X
0
0
0
0
1
1
j
X
0
1
2
3
0
1
M[i][j]
X
-2
8
0
X
4
-1
soma
0
-2
6
6
6
10
10
Exemplo
0
-2
-1
int soma = 0;
i
X
0
0
0
0
1
1
j
X
0
1
2
3
0
1
M[i][j]
X
-2
8
0
X
4
-1
soma
0
-2
6
6
6
10
10
Exemplo
0
-2
-1
int soma = 0;
i
X
0
0
0
0
1
1
j
X
0
1
2
3
0
1
M[i][j]
X
-2
8
0
X
4
-1
soma
0
-2
6
6
6
10
9
Exemplo
0
-2
-1
int soma = 0;
for (int i=0; i<2; i++){
for (int j=0; j<3; j++ ){
soma = soma + M[i][j];
}
}
i
X
0
0
0
0
1
1
1
j
X
0
1
2
3
0
1
2
M[i][j]
X
-2
8
0
X
4
-1
3
soma
0
-2
6
6
6
10
9
9
Exemplo
0
-2
-1
int soma = 0;
for (int i=0; i<2; i++){
for (int j=0; j<3 ; j++){
soma = soma + M[i][j];
}
}
i
X
0
0
0
0
1
1
1
j
X
0
1
2
3
0
1
2
M[i][j]
X
-2
8
0
X
4
-1
3
soma
0
-2
6
6
6
10
9
9
Exemplo
0
-2
-1
int soma = 0;
for (int i=0; i<2; i++){
for (int j=0; j<3; j++){
soma = soma + M[i][j] ;
}
}
i
X
0
0
0
0
1
1
1
j
X
0
1
2
3
0
1
2
M[i][j]
X
-2
8
0
X
4
-1
3
soma
0
-2
6
6
6
10
9
12
Exemplo
0
-2
-1
int soma = 0;
for (int i=0; i<2; i++){
for (int j=0; j<3; j++ ){
soma = soma + M[i][j];
}
}
i
X
0
0
0
0
1
1
1
1
j
X
0
1
2
3
0
1
2
3
M[i][j]
X
-2
8
0
X
4
-1
3
X
soma
0
-2
6
6
6
10
9
12
12
Exemplo
0
-2
-1
int soma = 0;
for (int i=0; i<2; i++){
for (int j=0; j<3 ; j++){
soma = soma + M[i][j];
}
}
i
X
0
0
0
0
1
1
1
1
j
X
0
1
2
3
0
1
2
3
M[i][j]
X
-2
8
0
X
4
-1
3
X
soma
0
-2
6
6
6
10
9
12
12
Exemplo
0
-2
-1
int soma = 0;
for (int i=0; i<2; i++){
for (int j=0; j<3; j++){
soma = soma + M[i][j];
}
}
i
X
0
0
0
0
1
1
1
1
j
X
0
1
2
3
0
1
2
3
M[i][j]
X
-2
8
0
X
4
-1
3
X
soma
0
-2
6
6
6
10
9
12
12
Exemplo
0
-2
-1
int soma = 0;
for (int i=0; i<2; i++ ){
for (int j=0; j<3; j++){
soma = soma + M[i][j];
}
}
i
X
0
0
0
0
1
1
1
1
2
j
X
0
1
2
3
0
1
2
3
X
M[i][j]
X
-2
8
0
X
4
-1
3
X
X
soma
0
-2
6
6
6
10
9
12
12
12
Exemplo
0
-2
-1
int soma = 0;
for (int i=0; i<2 ; i++){
for (int j=0; j<3; j++){
soma = soma + M[i][j];
}
}
i
X
0
0
0
0
1
1
1
1
2
j
X
0
1
2
3
0
1
2
3
X
M[i][j]
X
-2
8
0
X
4
-1
3
X
X
soma
0
-2
6
6
6
10
9
12
12
12
Exemplo
0
-2
-1
int soma = 0;
for (int i=0; i<2; i++){
for (int j=0; j<3; j++){
soma = soma + M[i][j];
}
}
i
X
0
0
0
0
1
1
1
1
2
X
j
X
0
1
2
3
0
1
2
3
X
X
M[i][j]
X
-2
8
0
X
4
-1
3
X
X
X
soma
0
-2
6
6
6
10
9
12
12
12
12
Exemplo
0
-2
-1
int soma = 0;
for (int i=0; i<2; i++){
for (int j=0; j<3; j++){
soma = soma + M[i][j];
}
}
i
X
0
0
0
0
1
1
1
1
2
X
j
X
0
1
2
3
0
1
2
3
X
X
M[i][j]
X
-2
8
0
X
4
-1
3
X
X
X
soma
0
-2
6
6
6
10
9
12
12
12
12
12
Exerccios
Exerccio 1
Exerccio 2
Exerccio 3