import java.util.Scanner; import java.util.Arrays; import java.security.SecureRandom; public class SommaMatrici { public static void main(String[] args) { int[][] matrice1 = {{2, 5, 9, 4}, {1, 4, 2, 9}, {8, 2, 5, 3}}; int[][] matrice2 = {{1, 7, 4, 2}, {2, 1, 5, 7}, {6, 3, 1, 9}}; int[][] somma; // matrice risultato System.out.println("Prima matrice:"); stampaMatrice(matrice1); System.out.println("Seconda matrice:"); stampaMatrice(matrice2); somma = sommaMatrici(matrice1, matrice2, 3, 4); System.out.println("Somma:"); stampaMatrice(somma); // si potrebbe usare anche // System.out.println(Arrays.deepToString(somma)); } /* Stampa la matrice */ public static void stampaMatrice(int[][] matrice) { // l'indice i scorre le righe // l'indice j scorre le colonne for (int i = 0; i < matrice.length; i++) { for (int j = 0; j < matrice[i].length; j++) System.out.print(matrice[i][j] + "\t"); System.out.println(); } System.out.println(); } /* Precondizione: matrice1 e matrice2 di dimensione righe x colonne * ritorna la matrice somma tra le due */ public static int[][] sommaMatrici(int[][] matrice1, int[][] matrice2, int righe, int colonne) { int[][] risultato = new int [righe] [colonne]; for (int i = 0; i < matrice1.length; i++) for (int j = 0; j < matrice1[i].length; j++) risultato[i][j] = matrice1[i][j] + matrice2[i][j]; return risultato; } }