Last active
April 8, 2022 21:08
-
-
Save alvareztech/babcfb962eaf8a394a20 to your computer and use it in GitHub Desktop.
Clase para ejecutar el algoritmo para generar una matriz caracol cuadrada.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.Scanner; | |
/** | |
* Clase para ejecutar el algoritmo para generar una matriz caracol cuadrada | |
* @author Daniel Alvarez | |
*/ | |
public class Main { | |
public static void main(String[] args) { | |
Scanner in = new Scanner(System.in); | |
System.out.print("Dimesión De La Matriz: "); | |
int n = in.nextInt(); | |
mostrarMatriz(generarMatrizCaracol(n, 1), n, n); | |
} | |
/** | |
* Genera Una Matriz Caracol. | |
* @param n dimensión de la matriz cuadrada | |
* @param x numero con cual se iniciará la matriz caracol | |
* @return matriz de enteros con la matriz caracol ya generada. | |
*/ | |
public static int[][] generarMatrizCaracol(int n, int x) { | |
int[][] M = new int[n + 1][n + 1]; | |
for (int a = 1; a <= n / 2; a++) { | |
for (int i = a; i <= n - a; i++) { | |
M[a][i] = x; | |
x++; | |
} | |
for (int i = a; i <= n - a; i++) { | |
M[i][n - a + 1] = x; | |
x++; | |
} | |
for (int i = n - a + 1; i >= a + 1; i--) { | |
M[n - a + 1][i] = x; | |
x++; | |
} | |
for (int i = n - a + 1; i >= a + 1; i--) { | |
M[i][a] = x; | |
x++; | |
} | |
} | |
if (n % 2 == 1) { | |
M[n / 2 + 1][n / 2 + 1] = x; | |
} | |
return M; | |
} | |
/** | |
* Muestra Una Matriz Cualquiera Por Consola A Partir De La Fila 1 y Columna 1 | |
* @param M matriz a mostrar | |
* @param f numero de filas de la matriz | |
* @param c numero de columnas de la matriz | |
*/ | |
public static void mostrarMatriz(int[][] M, int f, int c) { | |
for (int i = 1; i <= f; i++) { | |
for (int j = 1; j <= c; j++) { | |
System.out.print("\t" + M[i][j]); | |
} | |
System.out.println(); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
hola, y si ese código lo quisiera ejecutar en Borland C++ ??