_stan
(320 punti)
4' di lettura

Tema 51

Scrivere un metodo creaTrasposta che riceve in ingresso una matrice di interi e crea la sua trasposta, cio una matrice in cui saranno invertite righe e colonne.

Ad esempio, sia M la matrice cosìcostituita

1 7 9 6
5 8 4 2
allora creaTrasposta (M) dar
1 5
7 8
9 4
6 2
   public class tema51 {
   public static int[][] creaTrasposta(int[][] M) {
     // prepariamo una matrice che dovrà avere le dimensioni di righe e colonne pari 
     // rispettivamente a quelle 
     // di colonne e righe della matrice di partenza 
     int[][] T = new int[M[0].length][M.length];
     for (int i = 0; i         for (int j = 0; j           // trasferiamo in T gli elementi di M con indici invertiti rispetto alla 
         // posizione di destinazione 
         T[j] = M[j];
     }
     return T;
   }
   public static void visualizzaMatrice(int[][] M) {
     for (int i = 0; i         for (int j = 0; j .length; j++) System.out.print(M[j] + " ");
       System.out.println();
     }
   }
   /* Applicazione di prova */
   public static void main(String[] args) {
     int[][] Q = {
       {
         1,
         7,
         9,
         6
       },
       {
         5,
         8,
         4,
         2
       }
     };
     System.out.println("Stampa della matrice di partenza");
     visualizzaMatrice(Q);
     System.out.println();
     //separiamo i contenuti con una riga vuota 
     System.out.println("Stampa della trasposta");
     visualizzaMatrice(creaTrasposta(Q));
   }
 }