hola
en la escuela me marcaron contruir un cuadro magic con javay pos nologro visualizarlo este es mi codigo
codigo-
import java.util.*;
import java.io.*;
public class Cuadromagico {
Scanner s;
int solve[][];
int sum;
int n;
public boolean readcase(String s){
String lin=s;
if(lin==null)
return false;
else
n=Integer.parseInt(lin);
solve=new int[n][n];
for(int i=1;i<=(n*n);i++){
sum +=i;
sum /=n;
}
return true;
}
public void solvecase(){
int dato=1;
int posx;
int posy;
while(dato<=(n*n)){
posx=0;
posy=(n/2)+1;
solve[posx][posy]=dato;
dato++;
posx--;
posy++;
//System.out.print(solve[posx][posy]+" ");
if(posx<0)posx=n-1;
//System.out.print(solve[posx][posy]+" ");
if(posy>n){
posy=0;
if(solve[posx][posy]!=0){
posx++;
posy--;
//System.out.print(solve[posx][posy]+" ");
}
}
fin codigo-
y pos nose que estoy haciendo mal o q no estoy haciendo
espero q puedan ayudarme
i´m back :) woajajajajaj!
Mare chavo, una miradita le di a tu codigo, y a simple vista se ve que no estas implementando el algoritmo para cuadros mágicos correctamente, pero bueno, lo primero, sería que pusieras entre etiquetas tu codigo para que sea mas entendible y por regla también; lo segundo sería que explicaras que hace tu codigo y que no hace.
Y tercero, suponiendo que tienes la idea de como hacerlo, lo primero sería desarrollar el algortimo para poner el primer numero en su lugar:
Es decir, buscar la mitad de tu cuadro, facil no?
de ahi plantearte el algoritmo de los cuadros mágicos, que es muy sencillo,
fila-1, columna+1
//checar que no se pase de las columnas y filas establecidas
si (fila-1<0){
fila=numero_filas
}
si(columna+1>numero_columnas){
columnas=0
}
//seguría el algoritmo para saber que pasa si la casilla esta ocupada
si (matriz[fila][columna] diferente null){
volver a la fila y columna anterior
fila+1
//checar de nuevo que no se pase del numero de columnas y filas establecidas
//lo metes en un ciclo y listo :)
}
suerte y saludos :)