elainececiliagatto
19,349 views
23 slides
Dec 03, 2013
Slide 1 of 23
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
About This Presentation
JAVA - Matrizes
Size: 1.23 MB
Language: pt
Added: Dec 03, 2013
Slides: 23 pages
Slide Content
MATRIZES Linguagem de Programação II Ciência da Computação Prof.ª 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: f loat 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 1 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 1 1 2 2 3 MAT
Declarando e Inicializando Exemplo 3: i nt [ ][ ]Y[ ]; //declarando uma matriz do tipo int com três dimensões Y = 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 bidimensional y = new int[2][]; //tamanho da primeira dimensão: duas linhas. Tamanho da segunda dimensão: indefinido y [0] = new int[5]; //definindo o tamanho da linha zero da primeira dimensão: 5 posições y [1] = new int[2]; //definindo o tamanho da linha um da primeira dimensão: 2 posições
Declarando e Inicializando int y[][]; //matriz bidimensional y = new int[2][]; //tamanho da primeira dimensão: duas linhas. Tamanho da segunda dimensão: indefinido y [0] = new int[5]; //definindo o tamanho da linha zero da primeira dimensão: 5 posições y [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); f or( i = 0; i<7; i++ ) { //preenche a linha for( j=0; j<3; j++ ) { //preenche a coluna x[ i ][ j ] = e.nextInt(); //preenche a célula } }
Preenchendo uma matriz int MAT[ ][ ]; //declarando uma matriz bidimensional MAT = new int[ 3 ][ ] ; //definindo a quantidade de linhas da primeira dimensão MAT[ 0 ] = new int[ 2 ]; //defininido 2 como tamanho da linha zero MAT[ 1 ] = new int[ 5 ]; //definindo 5 como tamanho da linha um MAT[ 2 ] = new int[ 3 ]; //definindo 3 como tamanho da linha dois Scanner e = new Scanner(System.in); f or( i = 0; i<MAT. length ; i++ ) { //preenche a linha for( j=0; j<MAT[i]. length ; j++ ) { //preenche a coluna x[ i ][ j ] = e.nextInt(); //preenche a célula } }
Preenchendo uma matriz int MAT[ ][ ]; //declarando uma matriz bidimensional MAT = new int[ 3 ][ ] ; //definindo a quantidade de linhas da primeira dimensão MAT[ 0 ] = new int[ 2 ]; //defininido 2 como tamanho da linha zero MAT[ 1 ] = new int[ 5 ]; //definindo 5 como tamanho da linha um MAT[ 2 ] = new int[ 3 ]; //definindo 3 como tamanho da linha dois Scanner e = new Scanner(System.in); f or( i = 0; i< MAT.length ; i++ ) { //preenche a linha for( j=0; j< MAT[i].length ; j++ ) { //preenche a coluna x[ 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ão MAT[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ão for( j=0; j<MAT[ i ].length ; j++) { //obtem o tamanho da linha System.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 é 3 System.out.println( “Elementos da linha” + i ); for( j=0; j<4; j++) { //quantidade de colunas é 4 System.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 é 4 System.out.println( “Elementos da coluna” + i ); for( j=0; j<3; j++) { //quantidade de linhas é 4 System.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