Ver Mensaje Individual
  #4 (permalink)  
Antiguo 12/12/2013, 03:59
Avatar de rgf1987
rgf1987
 
Fecha de Ingreso: diciembre-2012
Ubicación: Asturias
Mensajes: 269
Antigüedad: 12 años
Puntos: 22
Respuesta: Invertir una matriz

Ah, el problema esta cuando creas matrices que no tienen mismo numero de filas y columnas.

Esto se debe a que estas intentando hacer lo siguiente al hacer al copia de la matriz

Código Java:
Ver original
  1. destino[fil][col]=mxn[col][fil];

Si la matriz de origen mxn es de 3x4, estas definiendo la matriz destino como 4x3
entonces llegará un momento, en que intentes hacer

siendo fil = 0 col = 4

destino[0][4]= mxn[4][0]

Y aqui se te lanza el error ya que intentas acceder a una posicion que no existe ni en destino ni en mxn.

Solución cambiar esa linea y dejarlo así el método:

Código Java:
Ver original
  1. public static int[][] invertMatriz(int [][]mxn, int n, int m){
  2.        
  3.         int[][] destino = new int[m][n];
  4.        
  5.         for(int fil=0;fil<n;fil++){
  6.             for(int col=0;col<m;col++){                
  7.                 destino[col][fil]=mxn[fil][col];
  8.         }
  9.         }
  10.         return destino;        
  11.    
  12.         }

Un saludo!