Foros del Web » Programación para mayores de 30 ;) » Java »

Array Bidimensional

Estas en el tema de Array Bidimensional en el foro de Java en Foros del Web. Buenas tardes: Intento realizar un programa en java que intercambie filas si encuentra un cero en la diagonal principal , para que en toda la ...
  #1 (permalink)  
Antiguo 16/10/2011, 13:50
 
Fecha de Ingreso: octubre-2011
Mensajes: 2
Antigüedad: 13 años, 1 mes
Puntos: 0
Pregunta Array Bidimensional

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 original
  1. public class diagonal{
  2.  
  3.     public static void intercambiarFilas(int A[][],int fila,int fila2){
  4.         int aux=0;
  5.         for(int i=0;i<A.length;i++){
  6.             for(int j=0;j<A[0].length;j++){
  7.                 aux=A[fila][j]; // se guarda la fila indicada en aux
  8.                 A[fila][j]=A[fila2][j];
  9.                 A[fila2][j]=aux;
  10.             }
  11.         }
  12.     }
  13.  
  14.          public static void imprimeMatriz(int A[][]){
  15.        
  16.         for(int i=0;i<A.length;i++){
  17.             for(int j=0;j<A[0].length;j++){
  18.                 System.out.print(A[i][j]+" ");
  19.             }
  20.             System.out.println();
  21.         }
  22.  
  23.     }
  24.  
  25.          public static int [][] matrizAleatoria(int filas,int columnas){
  26.        
  27.         int A[][]=new int[filas][columnas];
  28.         for(int i=0;i<filas;i++){
  29.             for(int j=0;j<columnas;j++){
  30.                 A[i][j]=(int)(Math.random()*2);
  31.             }
  32.         }
  33.         return A;
  34.     }
  35.  
  36.  
  37.  
  38.         public static void main(String [] args){
  39.        
  40.          int A[][]=matrizAleatoria(15,15);
  41.        
  42.     imprimeMatriz(A);
  43.        
  44.         for(int i=0;i<A.length;i++){
  45.             for(int j=0;j<A[0].length;j++){
  46.                 if((i==j && A[i][j]==0) && (i<A.length-1 && j <A[0].length-1)){
  47.                     intercambiarFilas(A,i,i+1);
  48.             }
  49.         }
  50.     }
  51.                System.out.println("**********");
  52.            imprimeMatriz(A);
  53.  
  54.  
  55. }
  56.  
  57.  
  58. }

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.

Última edición por JorgeJimen3z; 16/10/2011 a las 16:57

Etiquetas: bidimensionales
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:31.