JAVA - Matrizes
-
Upload
elaine-cecilia-gatto -
Category
Education
-
view
979 -
download
3
description
Transcript of JAVA - Matrizes
MATRIZES
Linguagem de Programação II
Ciência da ComputaçãoProf.ª Ms. Elaine Cecília
Gatto
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.
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
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
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
Declarando e Inicializando
Y = new char[2][4][3]; //definindo o tamanho das dimensões da matriz, que é multidimensional
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
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
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
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)
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)
Atribuindo valores à matriz
MAT[ 3 ][ 2 ] = ‘D’; //atribui a letra D à posição identificada pelos índices 3 (4ª linha) e 2 (3ª coluna)
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}
}
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
}}
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
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}
}
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
}}
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 ] );
}}
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 ] );
}}
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;
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
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
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