Java: minimo e media elementi righe di una matrice

Tema 73

Scrivere un metodo creaMatriceConMinimoEconMediaDiOgniRiga che riceve una matrice quadrata di interi M e restituisce una matrice contenente il minimo e la media degli elementi contenuti in ciascuna delle righe di M.

Ad esempio, sia M la matrice così costituita

0 1 2 3
-2 4 1 1
3 0 -5 7
2 1 -4 0

allora creaMatriceConMinimoEconMediaDiOgniRiga(M)

0 1 -2 1 -5 6 -4 2

 public class tema73{ public static int[][] creaMatriceConMinimoEconMediaDiOgniRiga (int[][] M) { // approntiamo la nuova matrice che avrà di certo righe pari a quelle di M e due // colonne int [][] Q = new int [M.length][2]; // iniziamo a scorrere la matrice riga per riga for (int i = 0; i < M.length; i++) { // usiamo il solito procedimento per la ricerca del minimo e tale scopo fissiamo // come valore minimo // provvisorio il primo elemento di ogni riga int minimo = M[i][0]; // inizializziamo anche un contenitore di tipo intero in cui effettuare la somma // delle righe da usare per // il calcolo della media int somma = 0; // iniziamo a scorrere le colonne for (int j = 0; j < M.length; j++) { if (M[i][j] < minimo) // se troviamo qualche elemento più piccolo del minimo provvisorio, aggiorniamo // il valore di minimo minimo = M[i][j]; // intanto procediamo a sommare gli elementi della riga somma += M[i][j]; } // nella prima colonna della nuova matrice inseriamo tutti i minimi trovati Q[i][0] = minimo; // e nella seconda colonna inseriamo i valori della media di ogni riga Q[i][1] = somma / M.length; } // dividendo la somma per M.length otteniamo la media return Q; } public static void visualizzaMatrice (int[][] M) { for (int i = 0; i < M.length; i++) { for (int j = 0; j < M[i].length; j++) System.out.print(M[i][j] + " "); System.out.println();} }  /* Applicazione di prova */  public static void main(String args[]) { int[][] M = {{0, 1, 2, 3}, {-2, 4, 1, 1}, {3, 0, -5, 27}, {12, 1, -4, 0}}; System.out.println("Risultato del metodo:"); int [][] Q = creaMatriceConMinimoEconMediaDiOgniRiga (M); visualizzaMatrice (Q); } }     

Commenti

commenti