-> MATRIZ EN ESPIRAL | JAVA - SAAT-WEBS

Breaking

CODIGOS

JAVA

-> MATRIZ EN ESPIRAL | JAVA

Aprende como imprimir una matriz de forma espiral en java

A continuación se muestra el código para mostrar una matriz en espiral en java . -

Dicho material esta comentado y explicado espero ayude.......

import java.util.Scanner;//importamos el Scanner
public class matriz_espiral
    //aplicamos el metodo void para ejecutar
{   public static void main(String args[]){
    //inicializamos el Scanner
    Scanner in=new Scanner (System.in);
    System.out.println("dime los valores nxn");
    //sentencia para pedir numero por teclado
    int n=in.nextInt();
    //creamos la matriz
    int v[][]=new int [n][n];
    //a continuación se muestra la sentencia para dar valores aleatorios ala matriz
    for(int i=0;i<=n-1;i++){
        for(int j=0;j<=n-1;j++){
            v[i][j]=(int)(Math.random() *100);
            
        }
    }
    //sentencia para mostrar la matriz
    for(int i=0;i<=n-1;i++){
        for(int j=0;j<=n-1;j++){
            System.out.print(v[i][j]+"  ");
            
        }
        System.out.println("  ");
    }
    //inicializamos variables para poder jugar con las filas y columnas
    int fila1=0;
    int fila2=n;
    int columna1=0;
    int columna2=n;
    //contador para que acabe de mostrar dependiendo el tamaño de la matriz
    int c=0;
    //usamos while debido a que no sabemos que numero dará el usuario
    //ponemos como condición que en cuanto el contador sea menor a la multiplicación de n
    //se detenga
    while(c<(n*n)){
        //sentencia para mostrar la linea superior hacia la derecha
        for (int j=columna1;j<=columna2-1;j++){
            System.out.println(v[fila1][j]);
            c=c+1;
        }
        //ahora aumentamos la variable fila1
        fila1=fila1+1;
        //sentencia para mostrar la columna de la derecha hacia abajo
        for (int i=fila1;i<=fila2-1;i++){
            System.out.println(v[i][columna2-1]);
            c=c+1;
        }
        //reducimos su variable
        columna2=columna2-1;
        //sentencia para mostrar la fila inferior hacia la izquierda
        for (int j=columna2-1;j<=columna2;j--){
            System.out.println(v[fila2-1][j]);
            c=c+1;
        }
        //aumenta su variable
        fila2=fila2-1;
        //sentencia para mostrar la columna izquierda hacia arriba
        for (int i=fila2-1;i<=fila1;i--){
            System.out.println(v[i][columna1]);
            c=c+1;
        }
        //aumentamos su variable
        columna1=columna1+1;
        //debido al aumento o disminución de las variables podrá funcionar para una matriz de cualquier tamaño
    }
}
}

Uso cookies para darte un mejor servicio.
Mi sitio web utiliza cookies para mejorar tu experiencia. Acepto Leer más
Copied!