Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/12/2012, 09:03
Avatar de DCienfuegos
DCienfuegos
 
Fecha de Ingreso: febrero-2009
Ubicación: Asturias
Mensajes: 195
Antigüedad: 15 años, 10 meses
Puntos: 3
Pregunta Mover elementos de una matriz cuadrada. HEPL!

Buenas, tengo una matriz cuadrada creada con el siguiente metodo

Código:
/**
     * Crea la matriz con un tamaño que se le pasa por teclado
     * 
     * @param  int tamaño size
     */
    public void crearMatriz(int size)
    {
        if(size>0 && size <= MAX_SIZE) 
        this.size=size;
        {
            matriz = new int[size][size];        
                for(int i=0; i<size; i++) {
                    for(int j=0; j<size; j++) {          // recorro la matriz
                        Random r = new Random();         // para generar aleatoriamente
                        matriz[i][j] = r.nextInt(50+1);  // relleno aleatoriamente
                    }
                }
            }
    }
Con el cual especificamos el tamaño y rellenamos la matriz con numero aletorios del 0 al 50.

Lo que trato de hacer ahora es un metodo que lo que haga el girar la matriz hacia la derecha, os pongo un ejemplo visual:

Matriz1:

1 2 3
4 5 6
7 8 9

---> Metodo girar 90º derecha

Matriz1:

7 4 1
8 5 2
9 6 3

El problema es que no consigo hacerlo funcionar, probe a cambiar filas por columnas con una auxiliar (matrizAux[i][j] = matriz[j][i];) pero haciendo esto el elemento 1,1 siempre es el mismo y no me lo gira bien...

¿Se os ocurre como poder hacerlo?

Muchisimas gracias!