Red de conocimiento informático - Material del sitio web - En la siguiente matriz de Cubos de Rubik de 5×5, la suma de los elementos en cada fila, columna y diagonal es igual. Intente escribir un programa para convertir estos Cubos de Rubik.

En la siguiente matriz de Cubos de Rubik de 5×5, la suma de los elementos en cada fila, columna y diagonal es igual. Intente escribir un programa para convertir estos Cubos de Rubik.

El lenguaje C es el siguiente:

#includelt; stdio.hgt;

int main()

{

int a[ 100][ 100], x; /*inicialización**

int i, j, m, n, temp;

printf ("Salida de la matriz del cubo de Rubik n=");

scanf("d",amp;x);

mientras(x)

{

if(!(x2) )

{printf("Ingresaste un número par, desafortunadamente este programa saldrá"

devuelve 0

}

else

{

for(i=0;ilt;x;i)

for(j=0;jlt;x;j)

a[i][j]=0

i=0

j=x/2; [j] =1;/*Rellene 1 en el medio de la primera línea */

for(temp=2;templt;=x*x;temp)/* Repita 24 veces y complete los 24 números restantes* /

{

m=i

n=j

i--; >

j ;

si(ilt;0)

i=x-1;

si(jgt;x-1)

j =0;

si(a[i][j]!= 0)

{i=m 1;

j= n;

}

a[i][j]=temp;

}

for(i=0; ilt; x; i )

{

for(j=0;jlt;x;j)

printf("4d", a[i][j) ]);

p>

printf("\n");

}

}

printf("Generando la matriz del cubo de Rubik n=");

p>

scanf("d",amp;x);

}

devuelve 0;

}

este El programa solo funciona con números base, se explica a continuación:

N es un número impar

(1) Coloca 1 en el columna central de la primera fila; (2) Comience desde 2 hasta n × n, los números se almacenan secuencialmente de acuerdo con las siguientes reglas: Camine en una dirección de 45 °, como hacia la derecha y hacia arriba si el número de filas se almacena cada número. in es 1 menos el número de filas del número anterior, luego el número de columnas se incrementa en 1. Agregue 1 al número de columnas (3) Ajuste si el rango de filas y columnas excede el rango de la matriz. Por ejemplo, si 1 está en la fila 1, entonces 2 debe colocarse en la fila inferior y el número de columnas también se incrementa en 1 (4) si existe la posición numérica determinada por las reglas anteriores, o el número anterior es; la primera fila de la enésima columna, luego el siguiente número se coloca debajo del número anterior.

17 24 1 8 15

23 5 7 14 16

4 6 13 20 22

10 12 19 21 3p>

11 18 25 2 9