Mudanças entre as edições de "Pensamento Computacional - Arrays Multidimensionais no Java"
Linha 13: | Linha 13: | ||
− | == | + | ==Exemplo 1 - Soma de Matrizes== |
− | + | >Implementar um programa para calcular a média de todos elementos da matriz C do exemplo acima. | |
− | {{collapse top | solução média}}< | + | {{collapse top | solução média}} |
+ | <syntaxhighlight lang=java> | ||
+ | public class SomaMatrizes { | ||
+ | public static void main(String[] args) { | ||
+ | // Exemplo de matrizes | ||
+ | int[][] matrizA = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; | ||
+ | int[][] matrizB = {{9, 8, 7}, {6, 5, 4}, {3, 2, 1}}; | ||
+ | // Chamando o método para somar as matrizes | ||
+ | int[][] matrizC = somarMatrizes(matrizA, matrizB); | ||
− | + | // Exibindo a matriz resultante | |
+ | System.out.println("Matriz Resultante:"); | ||
+ | imprimirMatriz(matrizC); | ||
+ | } | ||
− | {{ | + | // Método para somar duas matrizes |
+ | public static int[][] somarMatrizes(int[][] matrizA, int[][] matrizB) { | ||
+ | int linhas = matrizA.length; | ||
+ | int colunas = matrizA[0].length; | ||
+ | |||
+ | // Verificando se as matrizes têm as mesmas dimensões | ||
+ | if (linhas != matrizB.length || colunas != matrizB[0].length) { | ||
+ | throw new IllegalArgumentException("As matrizes devem ter as mesmas dimensões para serem somadas."); | ||
+ | } | ||
+ | |||
+ | int[][] resultado = new int[linhas][colunas]; | ||
+ | |||
+ | // Iterando sobre as matrizes e realizando a soma | ||
+ | for (int i = 0; i < linhas; i++) { | ||
+ | for (int j = 0; j < colunas; j++) { | ||
+ | resultado[i][j] = matrizA[i][j] + matrizB[i][j]; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | return resultado; | ||
+ | } | ||
+ | |||
+ | // Método para imprimir uma matriz | ||
+ | public static void imprimirMatriz(int[][] matriz) { | ||
+ | for (int i = 0; i < matriz.length; i++) { | ||
+ | for (int j = 0; j < matriz[0].length; j++) { | ||
+ | System.out.print(matriz[i][j] + " "); | ||
+ | } | ||
+ | System.out.println(); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | {{collapse bottom}} |
Edição das 15h04min de 4 de dezembro de 2023
Como definir e operar com matrizes no Java
Na aula anterior estudamos os vetores, que são estruturas de dados que permitem organizar os dados tal como
se fossem uma tabela unidimensional. O acesso a cada elemento do vetor é realizado pela indexação do mesmo, ou seja , um número inteiro que permite identificar a posição de um determinado vetor.
De forma similar ao vetor, pode-se criar arranjos multidimensionais. Por exemplo, uma matriz bidimensional pode ser definida usando um nome seguido de suas dimensões (de uma dupla de colchetes para indicar linha e a coluna). Os elementos da matriz serão todos de um mesmo tipo.
Um Exemplo de Soma de Matrizes da Matemática
A soma de duas matrizes na matemática é realizada pela soma dos elementos de mesma linha e coluna.
A dimensão das matrizes deve ser a mesma. Podemos usar os arranjos bidimensionais no Java para acomodar estas matrizes.
OBSERVAR que a operação de soma deve ser realizada elemento por elemento. Dois loops aninhados serão usados para iterar sobre as linhas e colunas.
Vejamos o exemplo abaixo.
PROBLEMA: Definir duas matrizes de inteiros de dimensão 2x3 e computar a soma das mesmas. As matrizes serão iniciadas na definição.
:Dados de Entrada: Matrizes mA[2][3] e mB[2][3] de inteiros. Por questões de facilidade, já serão iniciadas na definição.
:Dados de Saída: Matriz mC[2][3] resultante da soma de mA com mB
Exemplo 1 - Soma de Matrizes
>Implementar um programa para calcular a média de todos elementos da matriz C do exemplo acima.
solução média |
---|
public class SomaMatrizes {
public static void main(String[] args) {
// Exemplo de matrizes
int[][] matrizA = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int[][] matrizB = {{9, 8, 7}, {6, 5, 4}, {3, 2, 1}};
// Chamando o método para somar as matrizes
int[][] matrizC = somarMatrizes(matrizA, matrizB);
// Exibindo a matriz resultante
System.out.println("Matriz Resultante:");
imprimirMatriz(matrizC);
}
// Método para somar duas matrizes
public static int[][] somarMatrizes(int[][] matrizA, int[][] matrizB) {
int linhas = matrizA.length;
int colunas = matrizA[0].length;
// Verificando se as matrizes têm as mesmas dimensões
if (linhas != matrizB.length || colunas != matrizB[0].length) {
throw new IllegalArgumentException("As matrizes devem ter as mesmas dimensões para serem somadas.");
}
int[][] resultado = new int[linhas][colunas];
// Iterando sobre as matrizes e realizando a soma
for (int i = 0; i < linhas; i++) {
for (int j = 0; j < colunas; j++) {
resultado[i][j] = matrizA[i][j] + matrizB[i][j];
}
}
return resultado;
}
// Método para imprimir uma matriz
public static void imprimirMatriz(int[][] matriz) {
for (int i = 0; i < matriz.length; i++) {
for (int j = 0; j < matriz[0].length; j++) {
System.out.print(matriz[i][j] + " ");
}
System.out.println();
}
}
}
|