mx.edu.ulsa.cib4132005.practica1
Class CuadradoMagico

java.lang.Object
  extended by mx.edu.ulsa.cib4132005.practica1.CuadradoMagico

public class CuadradoMagico
extends java.lang.Object

Author:
Gustavo De la Cruz Tovar
Clase que implanta metodos para generar y validar un CuadradoMagico Un cuadrado magico de orden impar n (3,5,7,...) se compone de numeros enteros.
Los numeros enteros se organizan en una matriz de n X n, de tal manera que la suma de
cada renglon, columna y diagonal es igual.
Un ejemplo de cuadrado magico es:
816
357
492
La suma de cada celda de cada renglon, columna o diagonales es 15

Constructor Summary
CuadradoMagico()
           
 
Method Summary
static int[][] generar(int orden)
          Generar un cuadrado magico por medio del siguiente algoritmo: Situar el numero 1 en el centro del primer renglon El numero siguiente se situa en la casilla situada encima y a la derecha, y asi sucesivamente Se debe considerar que el cuadrado se cierra sobre si mismo; el renglon encima del primero es de hecho el ultimo renglon De igual manera, la columna a la derecha de la ultima es la primera.
static int valor(int[][] cuadradoMagico)
          Calcula la suma del primer renglon del cuadrado magico, para saber su valor
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CuadradoMagico

public CuadradoMagico()
Method Detail

generar

public static int[][] generar(int orden)
Generar un cuadrado magico por medio del siguiente algoritmo:
  1. Situar el numero 1 en el centro del primer renglon
  2. El numero siguiente se situa en la casilla situada encima y a la derecha, y asi sucesivamente
  3. Se debe considerar que el cuadrado se cierra sobre si mismo; el renglon encima del primero es de hecho el ultimo renglon
  4. De igual manera, la columna a la derecha de la ultima es la primera.
  5. Cuando la posicion del numero caiga en una casilla ocupada, se elige la casilla situada debajo del numero que acaba ser situado

Parameters:
orden - El orden del cuadrado magico, debe ser impar
Returns:
Referencia a una Matriz de orden X orden, con las propiedades de ser un cuadrado magico, siempre y cuando el orden sea impar
Si orden no es impar, se retorna una referencia nula
Ejemplo:
 int [][] cuadrado= CuadradoMagico.generar(3);
 //genera un cuadrado magico de orden 3, que suma 15 en renglones, columnas y diagonales
 

valor

public static int valor(int[][] cuadradoMagico)
Calcula la suma del primer renglon del cuadrado magico, para saber su valor

Parameters:
cuadradoMagico, - matriz con las propiedades del cuadrado magico
Returns:
La suma del primer renglon
Ejemplo:
 int [][] cuadrado= CuadradoMagico.generar(3);
 int valor = CuadradoMagico.valor();
 //genera un cuadrado magico de orden 3, que suma 15 en renglones, columnas y diagonales