Calcular la matriz transpuesta con Java

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

DorniSoft Inc.