package lezione07; import java.util.Random; import java.util.Scanner; /* * Calcolatore somma e prodotto celle corrispondenti di due matrici casuali */ public class Esercizio2 { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.print("Digita il numero di righe e colonne che avranno le due matrici A e B, separate da uno spazio: "); int rows = in.nextInt(); int columns = in.nextInt(); int[][] a = new int[rows][columns]; int[][] b = new int[rows][columns]; /* * Popolo le matrici A e B */ Random rand = new Random(); // MAGIA: creiamo un generatore di numeri casuali for (int i = 0; i < a.length; i++) { for (int j = 0; j < a[i].length; j++) { a[i][j] = rand.nextInt(10); // MAGIA: otteniamo un intero casuale tra 0 e 9 (inclusi) b[i][j] = rand.nextInt(10); } } /* * Visualizzo A */ System.out.println("A: "); for (int i = 0; i < a.length; i++) { for (int j = 0; j < a[i].length; j++) { /* * MAGIA meno nera: facciamo in modo che vengano sempre stampate 2 cifre * - %d = stampa un numero * - 02 = aggiungi degli 0 a sinistra del numero finchè esso non ha 2 cifre */ System.out.printf("%01d ", a[i][j]); } System.out.println(); } /* * Visualizzo B */ System.out.println("B: "); for (int i = 0; i < b.length; i++) { for (int j = 0; j < b[i].length; j++) { System.out.printf("%01d ", b[i][j]); } System.out.println(); } /* * Calcolo la somma delle celle corrispondenti di A e B */ int[][] sum = new int[rows][columns]; for (int i = 0; i < sum.length; i++) { for (int j = 0; j < sum[i].length; j++) { sum[i][j] = a[i][j] + b[i][j]; } } /* * Visualizzo la matrice somma */ System.out.println("SOMMA: "); for (int i = 0; i < sum.length; i++) { for (int j = 0; j < sum[i].length; j++) { System.out.printf("%02d ", sum[i][j]); } System.out.println(); } /* * Calcolo il prodotto delle celle corrispondenti di A e B */ int[][] mul = new int[rows][columns]; for (int i = 0; i < mul.length; i++) { for (int j = 0; j < mul[i].length; j++) { mul[i][j] = a[i][j] * b[i][j]; } } /* * Visualizzo la matrice prodotto */ System.out.println("PRODOTTO: "); for (int i = 0; i < mul.length; i++) { for (int j = 0; j < mul[i].length; j++) { System.out.printf("%02d ", mul[i][j]); } System.out.println(); } } }