Autor Tema: Recorrido matricial  (Leído 63 veces)

[D-m-K]

  • Administrador
  • Mensajes: 229
  • [-.|.-]
    • MSN Messenger - d4rk.m0nk3y@hotmail.com
    • Ver Perfil
    • Red Informatica Colombiana
    • Email
Recorrido matricial
« : octubre 18, 2010, 09:19:11 pm »
Bueno estaba por ahi repasando los recorridos de matrices (2 dimensiones) y el desparche me sirvio para hacer esto:

Código: (java) [Seleccionar]
/**
 * Ejemplo para el recorrido de matrices en todos los sentidos
 * @author [D-m-K], Red Informatica Colombiana
 */
public class Matriz {
    public static String[][] matriz;
    public static String letras = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    public static final int d = 5;

    public static void main(String[] args) {
        //Dimensiono la matriz con n
        matriz = new String[d][d];
        llenarMatriz();
        verMatriz();
        filas();
        filasInversas();
        columnas();
        columnasInversas();
        diagonalDerecha();
        diagonalDerechaInversa();
        diagonalIzquierda();
        diagonalIzquierdaInversa();
    }

    public static void llenarMatriz() {
        //Lleno la matriz con letras aleatorias segun las letras disponibles
        for (int i = 0, n = 0; i < d; i++) {
            for (int j = 0; j < d; j++) {
                n = (int)(Math.random() * letras.length());
                matriz[i][j] = "" + letras.charAt(n);
            }
        }
    }

    public static void verMatriz(){
        for (int i = 0; i < d; i++) {
            for (int j = 0; j < d; j++) {
                System.out.print(" " + matriz[i][j]);
            }
            System.out.println("");
        }
    }

    public static void filas(){
        System.out.println(" :: Filas de la matriz :: ");
        for (int i = 0; i < d; i++) {
            System.out.print("Fila " + i + " >>");
            for (int j = 0; j < d; j++) {
                System.out.print(" " + matriz[i][j]);
            }
            System.out.println("");
        }
    }

    public static void filasInversas(){
        System.out.println(" :: Filas Inversas de la matriz :: ");
        for (int i = 0; i < d; i++) {
            System.out.print("Fila " + i + " >>");
            for (int j = d - 1; j >= 0; j--) {
                System.out.print(" " + matriz[i][j]);
            }
            System.out.println("");
        }
    }

    public static void columnas(){
        System.out.println(" :: Columnas de la matriz :: ");
        for (int i = 0; i < d; i++) {
            System.out.print("Columna " + i + " >>");
            for (int j = 0; j < d; j++) {
                System.out.print(" " + matriz[j][i]);
            }
            System.out.println("");
        }
    }

    public static void columnasInversas(){
        System.out.println(" :: Columnas inversas de la matriz :: ");
        for (int i = 0; i < d; i++) {
            System.out.print("Columna " + i + " >>");
            for (int j = d - 1; j >= 0; j--) {
                System.out.print(" " + matriz[j][i]);
            }
            System.out.println("");
        }
    }

    public static void diagonalDerecha(){
        System.out.println(" :: Diagonal principal derecha de la matriz :: ");
        System.out.print("Diagonal >>");
        for (int i = 0; i < d; i++) {
            System.out.print(" " + matriz[i][i]);
        }
        System.out.println("");
    }

     public static void diagonalDerechaInversa(){
        System.out.println(" :: Diagonal principal derecha de la matriz (Inversa) :: ");
        System.out.print("Diagonal >>");
        for (int i = d - 1; i >= 0; i--) {
            System.out.print(" " + matriz[i][i]);
        }
        System.out.println("");
    }

     public static void diagonalIzquierda(){
        System.out.println(" :: Diagonal principal izquierda de la matriz :: ");
        System.out.print("Diagonal >>");
        for (int i = d - 1; i >= 0; i--) {
                System.out.print(" " + matriz[i][(d - i - 1)]);
        }
        System.out.println("");
    }

     public static void diagonalIzquierdaInversa(){
        System.out.println(" :: Diagonal principal izquierda de la matriz (Inversa):: ");
        System.out.print("Diagonal >>");
        for (int i = 0; i < d; i++) {
                System.out.print(" " + matriz[i][(d - i - 1)]);
        }
        System.out.println("");
    }
    
}

Un ejemplo de la visualizaci
:: Todas las grandes cosas que se disfrutan son el producto de las pequeñas cosas que se logran ::