package lezione07; import java.util.Random; import java.util.Scanner; /* * Trovare riga e colonna a somma massima (rispettivamente, tra le righe e le colonne) */ public class Esercizio4 { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.print("Digita il numero di righe e colonne che avrà la matrice, separate da uno spazio: "); int rows = in.nextInt(); int columns = in.nextInt(); int[][] matrix = new int[rows][columns]; Random rand = new Random(); for (int i = 0; i < matrix.length; i++) { for (int j = 0; j < matrix[i].length; j++) { matrix[i][j] = rand.nextInt(100); } } for (int i = 0; i < matrix.length; i++) { for (int j = 0; j < matrix[i].length; j++) { System.out.printf("%02d ", matrix[i][j]); } System.out.println(); } int maxRC = 0; // riga/colonna a somma massima int sumMaxRC = 0; // la nostra matrice non ha numeri negativi, dunque non corriamo rischi int sumRC; // somma riga/colonna corrente for (int i = 0; i < matrix.length; i++) { sumRC = 0; for (int j = 0; j < matrix[i].length; j++) { sumRC += matrix[i][j]; } if (sumRC > sumMaxRC) { maxRC = i; sumMaxRC = sumRC; } } System.out.println("La riga " + maxRC + " ha somma massima, pari a " + sumMaxRC); maxRC = 0; sumMaxRC = 0; for (int i = 0; i < matrix[0].length; i++) { sumRC = 0; for (int j = 0; j < matrix.length; j++) { sumRC += matrix[j][i]; } if (sumRC > sumMaxRC) { maxRC = i; sumMaxRC = sumRC; } } System.out.println("La colonna " + maxRC + " ha somma massima, pari a " + sumMaxRC); } }