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 |
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));
}
}