Buenas tardes:
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 originalpublic 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.