java - matrizes

23
MATRIZES Linguagem de Programação II Ciência da Computação Prof.ª Ms. Elaine Cecília Gatto

Upload: elaine-cecilia-gatto

Post on 25-Jun-2015

975 views

Category:

Education


3 download

DESCRIPTION

JAVA - Matrizes

TRANSCRIPT

Page 1: JAVA - Matrizes

MATRIZES

Linguagem de Programação II

Ciência da ComputaçãoProf.ª Ms. Elaine Cecília

Gatto

Page 2: JAVA - Matrizes

Matrizes

• Variável composta homogênea multidimensional

• Conjunto de variáveis de mesmo tipo• Alocadas sequenciamente na memória• Índice: referencia sua localização dentro

da estrutura. No caso de matrizes, precisamos de tantos índices quantos forem seu dimensionamento.

• Exemplo: matriz de 2dimensões, 2 índices. Matrizes de 3dimensões, 3 indícesl.

Page 3: JAVA - Matrizes

Declarando e Inicializando

• Exemplo 1:float x[ ][ ]; //declarando uma matriz do tipo float com duas dimensões. O primeiro colchete é referente ao número de linhas. O segundo colchete é referente ao número de colunas.f = new float[2][10]; //definindo o tamanho das dimensões da matriz

0

1

0 1 2 3 4 5 6 7 8 9

x

Page 4: JAVA - Matrizes

Declarando e Inicializando

• Exemplo 2:char [ ][ ]MAT; //declarando uma matriz do tipo char com duas dimensões;MAT = new char[4][3]; //definindo o tamanho das dimensões da matriz

01

0 1 2

23

MAT

Page 5: JAVA - Matrizes

Declarando e Inicializando

• Exemplo 3:int [ ][ ]Y[ ]; //declarando uma matriz do tipo int com três dimensõesY = new char[2][4][3]; //definindo o tamanho das dimensões da matriz, que é multidimensional

Criamos aqui uma variável com duas linhas (0 a 1), quatro colunas (0 a 3) e três profundidades (0 a 2), que são capazes de armazenar números inteiros

Page 6: JAVA - Matrizes

Declarando e Inicializando

Y = new char[2][4][3]; //definindo o tamanho das dimensões da matriz, que é multidimensional

Page 7: JAVA - Matrizes

Declarando e Inicializando

• Exemplo 4:float x[ ][ ] = new float[2][6]; //declarando e definindo o tamanho da matriz em uma única linha

• Exemplo 5:char [ ][ ]MAT = new char[4][3]; //declarando e definindo o tamanho da matriz em uma única linha

Page 8: JAVA - Matrizes

Declarando e Inicializando

• Exemplo 6:int [ ][ ]Y[ ] = new int[2][4][3];

//eclarando e definindo o tamanho da matriz em uma única linha

• Exemplo 7:int y[][]; //matriz bidimensionaly = new int[2][]; //tamanho da primeira dimensão: duas linhas. Tamanho da segunda dimensão: indefinidoy[0] = new int[5]; //definindo o tamanho da linha zero da primeira dimensão: 5 posiçõesy[1] = new int[2]; //definindo o tamanho da linha um da primeira dimensão: 2 posições

Page 9: JAVA - Matrizes

Declarando e Inicializando

int y[][]; //matriz bidimensionaly = new int[2][]; //tamanho da primeira dimensão: duas linhas. Tamanho da segunda dimensão: indefinidoy[0] = new int[5]; //definindo o tamanho da linha zero da primeira dimensão: 5 posiçõesy[1] = new int[2]; //definindo o tamanho da linha um da primeira dimensão: 2 posições

Page 10: JAVA - Matrizes

Atribuindo valores à matriz

x[ 1 ][ 4 ] = 5; //atribui o valor 5 à posição identificada pelos índices 1 (2ª linha) e 4 (5ª coluna)

MAT[ 3 ][ 2 ] = ‘D’; //atribui a letra D à posição identificada pelos índices 3 (4ª linha) e 2 (3ª coluna)

y[ 0 ][ 3 ][ 1 ] = 12; //atribui o valor 12 à posição identificada pelos índices 0 (1ª linha), 3 (4ª coluna) e 1 (2ª profundidade)

Page 11: JAVA - Matrizes

Atribuindo valores à matriz

y[ 0 ][ 3 ][ 1 ] = 12; //atribui o valor 12 à posição identificada pelos índices 0 (1ª linha), 3 (4ª coluna) e 1 (2ª profundidade)

Page 12: JAVA - Matrizes

Atribuindo valores à matriz

MAT[ 3 ][ 2 ] = ‘D’; //atribui a letra D à posição identificada pelos índices 3 (4ª linha) e 2 (3ª coluna)

Page 13: JAVA - Matrizes

Preenchendo uma matriz

• Usar uma estrutura de repetição para cada linha da matriz!

int x[ ][ ] = new int[7][3];Scanner e = new Scanner(System.in);for( i = 0; i<7; i++ ) { //preenche a linha

for( j=0; j<3; j++ ) { //preenche a colunax[ i ][ j ] = e.nextInt(); //preenche a

célula}

}

Page 14: JAVA - Matrizes

Preenchendo uma matriz

int MAT[ ][ ]; //declarando uma matriz bidimensionalMAT = new int[ 3 ][ ] ; //definindo a quantidade de linhas da primeira dimensãoMAT[ 0 ] = new int[ 2 ]; //defininido 2 como tamanho da linha zeroMAT[ 1 ] = new int[ 5 ]; //definindo 5 como tamanho da linha umMAT[ 2 ] = new int[ 3 ]; //definindo 3 como tamanho da linha doisScanner e = new Scanner(System.in);for( i = 0; i<MAT.length; i++ ) { //preenche a linha

for( j=0; j<MAT[i].length; j++ ) { //preenche a colunax[ i ][ j ] = e.nextInt(); //preenche a célula

}}

Page 15: JAVA - Matrizes

Preenchendo uma matriz

int MAT[ ][ ]; //declarando uma matriz bidimensionalMAT = new int[ 3 ][ ] ; //definindo a quantidade de linhas da primeira dimensãoMAT[ 0 ] = new int[ 2 ]; //defininido 2 como tamanho da linha zeroMAT[ 1 ] = new int[ 5 ]; //definindo 5 como tamanho da linha umMAT[ 2 ] = new int[ 3 ]; //definindo 3 como tamanho da linha doisScanner e = new Scanner(System.in);for( i = 0; i<MAT.length; i++ ) { //preenche a linha

for( j=0; j<MAT[i].length; j++ ) { //preenche a colunax[ i ][ j ] = e.nextInt(); //preenche a célula}

}

LENGTH

Recupera o tamanho de cada dimensão de um array. No caso desse exemplo, cada linha do array tem uma dimensão diferente!

MAT.length = tamanho da primeira dimensãoMAT[i].length = tamanho da linha i de MAT

Page 16: JAVA - Matrizes

Imprimindo os valores de uma matriz

• Usar uma estrutura de repetição para cada linha da matriz!

for( i=0; i<10; i++) { //obtem índice da linha

for( j=0; j<6; j++) { //obtem índice da coluna

System.out.println( x[ i ][ j ] ); //imprime o conteúdo da célula que está

na linha/coluna obtida}

}

Page 17: JAVA - Matrizes

Imprimindo os valores de uma matriz

for( i=0; i<MAT.length; i++) { //obtem o tamanho da dimensãofor( j=0; j<MAT[ i ].length; j++) {

//obtem o tamanho da linhaSystem.out.println( MAT[ i ][ j ] ); //imprime o conteudo da linha/coluna

}}

Page 18: JAVA - Matrizes

Percorrendo uma matriz

• Usar uma estrutura de repetição para cada linha da matriz!

• EXEMPLO1: mostrar todos os elementos gravados em uma linha

for ( i=0; i<3; i++) { //quantidade de linhas é 3System.out.println( “Elementos da linha” + i );for( j=0; j<4; j++) {

//quantidade de colunas é 4System.out.println( x[ i , j ] );

}}

Page 19: JAVA - Matrizes

Percorrendo uma matriz

• EXEMPLO1: mostrar todos os elementos gravados em uma coluna

for ( i=0; i<4; i++) { //quantidade de colunas é 4System.out.println( “Elementos da coluna” +

i );for( j=0; j<3; j++) {

//quantidade de linhas é 4System.out.println( x[ j , i ] );

}}

Page 20: JAVA - Matrizes

Percorrendo uma matriz

• Observações:

• A mudança nos valores das variáveis i e j, controlam as estruturas de repetição e permite a formação de todos os pares possíveis de linha e coluna que existem na matriz;

Page 21: JAVA - Matrizes

Percorrendo uma matriz

• Observações:

• No caso da linha: – A mudança na variavel i do for externo

é mais lenta que a mudança na variável j no for interno.

– Neste caso, a variável i indica como será o percurso, que no caso será horizontal.

– O índice da linha fica parado e somente o índice da coluna se altera

Page 22: JAVA - Matrizes

Percorrendo uma matriz

• Observações:

• No caso da coluna: – A mudança na variavel j do for externo

é mais lenta que a mudança na variável i no for interno.

– Neste caso, a variável j indica como será o percurso, que no caso será vertical.

– O índice da coluna fica parado e somente o índice da linha se altera

Page 23: JAVA - Matrizes

Percorrendo uma matriz

• Observações:

• No caso da coluna: – A mudança na variavel j do for externo

é mais lenta que a mudança na variável i no for interno.

– Neste caso, a variável j indica como será o percurso, que no caso será vertical.

– O índice da coluna fica parado e somente o índice da linha se altera