En este ejercicio calcularemos la matriz transpuesta de una matriz 4×4 con respecto a su eje diagonal. Primero rellenaremos con numeros aleatorios del 0 al 9 la primera matriz y despues con la función simétrica calcularemos su transpuesta. conforme al siguiente gráfico. Los elementos de la diagonal marcados con una X permaneceran en el mismo lugar y los elementos que estan en el mismo color son los que se intercambiaran entre si.

package aplicacion1;
/**
*
* @author Javi
*/
public class simetrica {
public static int[][] simetrica(int mat[][]){
int simetric[][];
simetric=new int[4][4];
for (int i=0;i<simetric.length;i++){
for(int j=0;j<simetric[i].length;j++){
simetric[i][j]=mat[3-j][3-i];
System.out.print(simetric[i][j]);
}
System.out.println(" ");
}
return simetric;
}
public static int[][] rellenar(int mat[][]){
for (int i=0;i<mat.length;i++){
for(int j=0;j<mat[i].length;j++){
mat[i][j]=(int)(Math.random()*9);
System.out.print(mat[i][j]);
}
System.out.println(" ");
}
return mat;
}
public static void main(String[] args) {
// TODO code application logic here
int matriz[][];
matriz=new int[4][4];
rellenar(matriz);
System.out.println("matriz simetrica");
simetrica(matriz);
}
}
El resultado sería algo como esto:
0126
1775
2105
8666
matriz simetrica
6556
6072
6171
8210
