110 likes | 213 Views
Programação I Aula 12 (Arrays Bidimensionais). Prof. Gilberto Irajá Müller. Última atualização 3/6/2009. 7 0 2. 2 6 3. -4 1 3. 0 -3 -1. m =. Arrays Bidimensionais.
E N D
Programação IAula 12(Arrays Bidimensionais) Prof. Gilberto Irajá Müller Última atualização 3/6/2009
7 0 2 2 6 3 -4 1 3 0 -3 -1 m = Arrays Bidimensionais • Um array bidimensional é um arranjo composto de linhas e colunas de valores, nossa velha conhecida matriz da Matemática. • Ex.: a matriz “m” abaixo tem 3 linhas e 4 colunas, totalizando 12 números inteiros (notação matemática)
Arrays Bidimensionais • Uma das maneiras de criar a matriz acima em Java é • int[][] m = {{-4, 7, 2, 0}, {1, 0, 6, -3}, {3, 2, 3, -1}}; • Para o acesso aos elementos de uma matriz, utiliza-se a seguinte sintaxe: • m[índice para a linha][índice para a coluna] • Qual o efeito do trecho abaixo? • m[2][3] = m[0][0] * 2; • System.out.println(m[2][1]); • int s = m[1][2]; • m[1][2] = m[0][0]; • m[0][0] = s; Linha 0 Linha 1 Linha 2
Arrays Bidimensionais • Se não sabemos o conteúdo inicial da matriz, podemos declará-la e criá-la da maneira convencional. • Ex.: • // Cria uma matriz mat de dimensão linhas x colunas • double [][] mat = new double [linhas][colunas]; • Exercício 12.1. Preencha a matriz mat com números aleatórios positivos menores que 100. • Dica: Ao utilizar arrays bidimensionais, precisaremos trabalhar com dois “fors”.
Arrays Bidimensionais • Exercício 12.2. Crie um método que recebe uma matriz bidimensional double e retorna o maior valor da matriz • Exercício 12.3. Crie um método que recebe uma matriz bidimensional inteira e um inteiro que indica uma de suas linhas, e retorna a média dos valores daquela linha
Arrays Bidimensionais • Comprimentos de linhas variáveis • Usamos, até agora, matrizes bidimensionais com o mesmo comprimento para todas as suas linhas. • Podemos declarar matrizes em que o comprimento da linha varia. Para isso, faz-se o trabalho em duas etapas: • Primeiramente, aloca-se espaço para a quantidade de linhas que se deseja, deixando o segundo índice do array vazio; • Depois, aloca-se cada linha individualmente.
Arrays Bidimensionais • Ex.: • // repare o segundo índice vazio • int [][] matriz = new int[4][]; • // primeira linha terá quatro elementos • matriz[0] = new int[4]; • // segunda linha, só dois elementos; • matriz[1] = new int[2]; • // terceira linha terá cinco elementos; • matriz[2] = new int[5]; • // quarta linha, três elementos. • matriz[3] = new int[3];
Arrays Bidimensionais • Representação gráfica para o array com comprimento de linha variado
Arrays Bidimensionais • Exercício 12.4. Escreva um trecho Java para preencher a matriz anterior com valores aleatórios
Arrays Bidimensionais • Java admite matrizes multidimensionais, porém, está fora do escopo da disciplina. • Ex.: • int[][][] a = {{{1, 2, 3}, {1, 2, 3}, {1, 2, 3}}, • {{1, 2, 3}, {1, 2, 3}, {1, 2, 3}}, • {{1, 2, 3}, {1, 2, 3}, {1, 2, 3}}}; • int[][][][] b = {{{{1, 2, 3}, {1, 2, 3}, {1, 2, 3}}, • {{1, 2, 3}, {1, 2, 3}, {1, 2, 3}}, • {{1, 2, 3}, {1, 2, 3}, {1, 2, 3}}}, • {{{1, 2, 3}, {1, 2, 3}, {1, 2, 3}}, • {{1, 2, 3}, {1, 2, 3}, {1, 2, 3}}, • {{1, 2, 3}, {1, 2, 3}, {1, 2, 3}}}, • {{{1, 2, 3}, {1, 2, 3}, {1, 2, 3}}, • {{1, 2, 3}, {1, 2, 3}, {1, 2, 3}}, • {{1, 2, 3}, {1, 2, 3}, {1, 2, 3}}}};
Métodos • Referências bibliográficas • http://inf.unisinos.br/~anibal