Programación del cubo mágico c
void main()
{
int a[16][16], I, j, k, n ;
printf("Ingrese n(n=1 a 15):");
scanf("%d ", & ampn);
para (I = 1; i<= n;i++)
for(j = 1;j<= n;j++)
a[I][j]= 0 ; asegúrese de inicializar la matriz; de lo contrario, el resultado no se generará.
if(j=n/2+1)
a[1][j]= 1
for(k = 2; k & lt; = n * nk++)
{
I = I-1; //Escribe los principios generales primero.
j = j+1;
If ((i & lt1); & amp(j & gtN)) //El último elemento de la primera fila, el siguiente elemento es Ponlo directamente debajo.
{
I = I+2
j = j-1
}
Otros
{
If (i & lt1) // En la primera fila, su siguiente elemento está en la enésima fila.
I = n;
if(j & gt; N) //Cuando se llega a la última columna, el siguiente elemento pasa a la primera columna.
j = 1;
}
If(a[i][j]==0) //OK si el siguiente elemento no se ha completado todavía Las reglas se generarán en orden descendente.
a[I][j]= k;
Otros
{
I = I+2; Restamos 1 del I original y ahora tenemos que sumar 1, por lo que siempre volvemos a 2.
j = j-1; // Dado que la J original se sumó en 1, ahora es necesario restarla en 1.
a[I][j]= k
}
}
for(I = 1;i<= n; i++) //Módulo de entrada de matriz
{
for(j = 1; j & lt= n; j++)
printf("% 5d ", a[I][j]);
printf(" \ n ");
}
}