Un programa que realice un cuadro magico

Orlando Daniel
27 de Febrero del 2006
necesito ayuda, quiero realizar un programa que realice un cuadro magico por ejemplo ingresar una matriz de n*n y la suma de las columnas,filas den 15 y en diagonal tambien

Noel Solw
27 de Febrero del 2006
una preguntita : tu quieres revizar si una matriz dada es cuadrado magico ?
O lo que necesitas es crear este cuadrado ?
En este caso la matriz tiene que ser de orden 3 o puede ser mayot.

Noel Solw
27 de Febrero del 2006
Te mando un programa que construye cuadrados magicos de orden impar.
Lo encontre en el interner (el guru programador)

Noel Solw
27 de Febrero del 2006
Me olvide copiar el programa :

#include <iostream.h>
#include <iomanip.h>

void cuadrado(int a[12][12], int, int);

int main(){

int cubo[12][12]={0};
int numero;

cout<<"Escribe un numero impar entre 3 y 11 : ";
cin>>numero;

cuadrado(cubo,12, numero);

cout << endl << endl;
for(int i=1;i<=numero;i++){
for(int j=0;j<numero;j++)cout << setw(4) << cubo[i][j]<<" ";
cout<<endl;
}

return 0;
}

void cuadrado(int cubo[12][12], int a, int numero){
cubo[0][numero]=1;
int r=numero/2;
int s=1;

cubo[s][r]=1;

for(int t=2;t<=numero*numero;++t){

if(cubo[s-1][r+1]==0)cubo[s-=1][r+=1]=t;//esto revisa si ya esta libre la casilla
else cubo[s+=1][r]=t; //y posiciona el numero en su casilla debida
if(s==0){s=numero; cubo[s][r]=t;}
if(r==numero){r=0; cubo[s][r]=t;}
}
}