Intento realizar un programa en java que intercambie filas si encuentra un cero en la diagonal principal , para que en toda la diagonal principal no haya ningun 0
Código Javascript:
Ver original
public class diagonal{ public static void intercambiarFilas(int A[][],int fila,int fila2){ int aux=0; for(int i=0;i<A.length;i++){ for(int j=0;j<A[0].length;j++){ aux=A[fila][j]; // se guarda la fila indicada en aux A[fila][j]=A[fila2][j]; A[fila2][j]=aux; } } } public static void imprimeMatriz(int A[][]){ for(int i=0;i<A.length;i++){ for(int j=0;j<A[0].length;j++){ System.out.print(A[i][j]+" "); } System.out.println(); } } public static int [][] matrizAleatoria(int filas,int columnas){ int A[][]=new int[filas][columnas]; for(int i=0;i<filas;i++){ for(int j=0;j<columnas;j++){ A[i][j]=(int)(Math.random()*2); } } return A; } public static void main(String [] args){ int A[][]=matrizAleatoria(15,15); imprimeMatriz(A); for(int i=0;i<A.length;i++){ for(int j=0;j<A[0].length;j++){ if((i==j && A[i][j]==0) && (i<A.length-1 && j <A[0].length-1)){ intercambiarFilas(A,i,i+1); } } } System.out.println("**********"); imprimeMatriz(A); } }
esta es la salida
1 1 1 1 1 0 1 0 1 1 1 0 1 1 0
1 0 0 1 0 1 0 0 1 1 0 0 1 0 0
0 0 1 0 0 1 0 0 1 1 0 1 1 1 1
0 1 1 0 0 1 1 0 1 1 1 0 1 0 0
1 1 1 1 0 1 1 0 0 0 1 0 0 0 1
1 0 1 0 0 1 0 1 1 1 1 1 1 1 1
1 0 1 1 1 0 1 1 0 0 1 0 1 1 1
0 0 0 0 0 0 1 0 1 1 0 0 0 0 0
1 1 0 1 0 0 0 0 0 1 0 1 1 1 1
1 0 1 1 1 0 1 1 1 1 0 1 1 1 0
1 1 1 1 1 0 0 1 1 1 0 1 1 0 0
0 1 0 1 1 1 1 0 1 0 0 0 0 0 0
1 1 1 1 1 0 1 1 0 1 0 1 0 1 0
0 1 1 0 0 1 0 0 0 1 1 0 0 1 1
1 1 0 0 0 1 0 0 0 0 1 0 0 1 0
**********
1 1 1 1 1 0 1 0 1 1 1 0 1 1 0
0 0 1 0 0 1 0 0 1 1 0 1 1 1 1
0 1 1 0 0 1 1 0 1 1 1 0 1 0 0
1 0 0 1 0 1 0 0 1 1 0 0 1 0 0
1 0 1 0 0 1 0 1 1 1 1 1 1 1 1
1 1 1 1 0 1 1 0 0 0 1 0 0 0 1
1 0 1 1 1 0 1 1 0 0 1 0 1 1 1
1 1 0 1 0 0 0 0 0 1 0 1 1 1 1
0 0 0 0 0 0 1 0 1 1 0 0 0 0 0
1 0 1 1 1 0 1 1 1 1 0 1 1 1 0
0 1 0 1 1 1 1 0 1 0 0 0 0 0 0
1 1 1 1 1 0 0 1 1 1 0 1 1 0 0
0 1 1 0 0 1 0 0 0 1 1 0 0 1 1
1 1 1 1 1 0 1 1 0 1 0 1 0 1 0
1 1 0 0 0 1 0 0 0 0 1 0 0 1 0
en este caso en la segunda fila el elemento de la diagonal principal es 0 necesito hacer que el programa intercambie esa fila por una que no tenga 0 en la diagonal
y que se haga eso para cada fila.