Linguaggio Java: vettore riga da tutte le colonne di una matrice

Tema 59

Scrivere un metodo creaArrayEstraendoTuttiGliElementiPerColonna che riceve in ingresso una matrice di interi M e crea un array estraendo tutti gli elementi della matrice colonna per colonna.

1 2 3 7
4 5 6 8
7 8 9 3
8 6 5 4

allora creaArrayEstraendoTuttiGliElementiPerRiga(M) darà

1 4 7 8 2 5 8 6 3 6 9 5 7 8 3 4

 public class tema59 { public static int[] creaArrayEstraendoTuttiGliElementiPerColonna (int[][] M) { // approntiamo un array di dimensione data dal seguente calcolo, dovendo // inserire tutti gli elementi di M int[] V = new int[M.length * M.length]; // prepariamo un indice per scorrere l’array int indice = 0; // in questo caso poniamo come ciclo più esterno quello delle colonne for(int j = 0; j < M[0].length; j++) { for(int i = 0; i < M.length; i++) { V[indice] = M[i][j]; indice++;} } return V; } 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[][] Q ={ {1, 2, 3, 7}, {4, 5, 6, 8}, {7, 8, 9, 3}, {8, 6, 5, 4} }; visualizzaArray (creaArrayEstraendoTuttiGliElementiPerColonna (Q)); } }     

Commenti

commenti