Linguaggio Java: matrice con massimo e minimo di ogni riga di un altra matrice

Tema 64

Scrivere un metodo creaMatriceEstraendoMinimoMassimoDalleRighe che riceve una matrice quadrata di interi M e restituisce una matrice che in ogni riga conterrà il valore minimo e il valore massimo di ciascuna riga di M.

Ad esempio, se la matrice M è così costituita

20 0 7 2
1 9 3 5
0 14 9 1
7 5 7 8

allora creaMatriceEstraendoMinimoMassimo (M) darà

0 20
1 9
0 14
5 8

 public class tema64{ public static int[][] creaMatriceEstraendoMinimoMassimo (int[][] M) { // approntiamo una matrice che avrà uguale numero di righe di M e soltanto due // colonne int [][] nuovaMatrice = new int[M.length][2]; for (int i = 0; i < M.length; i++) { // usiamo il solito procedimento per cercare il valore minimo (massimo), cioè // assumiamo che il // primo valore della matrice sia quello più basso (più alto) e poi lo // confrontiamo con tutti gli altri int minimo = M[i][0]; int massimo = M[i][0]; for (int j = 0; j < M.length; j++) { if (M[i][j] < minimo) minimo = M[i][j]; if (M[i][j] > massimo) massimo = M[i][j]; } // man mano che saranno individuati i valori minimi e massimi, verranno // collocati rispettivamente // nella prima e nella seconda colonna della nuova matrice nuovaMatrice[i][0] = minimo; nuovaMatrice[i][1] = massimo; } return nuovaMatrice; }  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 = { {20, 0, 7, 2}, {1, 9, 3, 5}, {0, 14, 9, 1}, {7, 5, 7, 8}}; int [][] H = creaMatriceEstraendoMinimoMassimo (M); visualizzaMatrice (H);}}     

Commenti

commenti