Java: array differenze tra somma riga e somma colonna

Tema 74

Scrivere un metodo creaArrayConDifferenzaTraSommaRigaEsommaColonna che riceve una matrice quadrata di interi M e restituisce un vettore V i cui elementi in posizione i-esima sono dati effettuando la differenza tra la somma degli elementi della riga i-esima e la somma degli elementi della colonna i-esima.

Ad esempio, sia M la matrice così costituita

0 1 -2 3
4 0 2 1
3 3 5 -4
3 -6 1 2

allora creaArrayConDifferenzaTraSommaRigaEsommaColonna(M) darà

-8 9 1 -2

 public class tema74{ public static int[] creaArrayConDifferenzaTraSommaRigaEsommaColonna (int[][] M) { // l’array risultante avrà naturalmente la stessa dimensione della matrice int [] arrayRisultante = new int[M.length]; // iniziamo a scorrere la matrice for (int i = 0; i < M.length; i++) { // ad ogni nuovo ingresso nel ciclo il contenitore calcolo sarà svuotato int calcolo = 0; for (int j = 0; j < M.length; j++) { // effettuiamo la sottrazione tra la somma della riga e la somma della colonna calcolo += M[i][j] - M[j][i]; } // collochiamo il risultato del calcolo nell’array risultante arrayRisultante[i] = calcolo; } return arrayRisultante; }  public static void visualizzaArray (int[] V) { for (int i = 0; i < V.length; i++) System.out.print(V[i] + " "); System.out.println(); }  /* Applicazione di prova */  public static void main(String args[]) { int[][] M = {{0, 1, -2, 3}, {4, 0, 2, 1}, {3, 3, 5, -4}, {3, -6, 1, 2}}; int [] V = creaArrayConDifferenzaTraSommaRigaEsommaColonna (M); visualizzaArray (V); } }     

Commenti

commenti