Las preguntas de programación en lenguaje C son como se muestra en la imagen.
/****************************************** ******************************/
/* 2) Programación
⑴ Gráfico vertical y horizontal de orden impar n=2m 1 Consulte el análisis del método de llenado 1). ?Este programa se completó en la ?Pregunta de matriz 23
⑵Cuando el gráfico vertical y horizontal de orden par n = 2 (2m 1), el análisis del algoritmo consiste en dividir la matriz cuadrada en cuatro pequeños subarreglos A, B, C y D., y luego realizar múltiples intercambios de números para completar, lo cual es más problemático, pero se pueden encontrar reglas ingeniosas a partir de él. Cada elemento en los subarreglos A, B, C y D se puede calcular sumando. un elemento a la posición relativa del elemento en el subarreglo A Se pueden obtener constantes, como B~(u/2)2, C~2(u/2)2D~3(u/2)2, simplemente complete. en el subarreglo A primero de acuerdo con el diagrama vertical y horizontal de orden impar, y los subarreglos B, C y D La formación puede evolucionar a partir de la subformación A.
⑶Cuando los gráficos verticales y horizontales de orden par n = 4m, primero use un bucle para determinar si cada posición en la matriz cuadrada está en la diagonal. Si está en la diagonal, asigne la posición. a 1, en caso contrario, se le asigna un valor de 0. Luego establezca X←0, Y←N*N 1, X e Y como valores de fila y columna. Luego use un ciclo doble (I, J) para cambiar de 1 a n en secuencia. Si A[I][J]=1, entonces A[I][J]←Y, si A[I][J]=0, entonces A[I][J]←X, y n se obtiene en el final del bucle = matriz cuadrada de 4 m.
//¿Esta pregunta se completó en un estado de extrema confusión? ¿El código es tan desagradable que no puedes soportar mirarlo? ¿Realmente no quieres leerlo*/
/********* ************************************* ************** *******************/
#include?lt;stdio.hgt;
#include?lt;stdlib.hgt;
#include?lt;math.hgt;
void?MF494(int?arr[][8] )
{
int?num=8
int?num1=num/4
int?numB=num*; número 1;
para?(int?i=0 ; ilt; num; i )
{
para?(int?j=0; jlt ; número; j )
{
si?((i j)4==3||abs(i-j)4==0)
{
arr[i][j]=numB-i* num-j-1;
}
else
arr[i ][j]=i*num j 1;
printf("3d", arr[i][j]);
}
printf( "\n");
}
}
//const?int?N=8;
void?MF5( )
{ int?k=2;
int?arr10[10][10]={0};
#pragma?region?W
{int?a[5][5]?= ?{0};
int?num?=?1;
int?i?= ?0;
int?j?=?5/ 2;
int?ci?=?0;
int?cj?=?0;
while?(1){
a[i][j]?=?num; //Guarda el valor actual de num en a[i][j];
ci?=?i; //Guardar el valor actual de i;
cj?=?j; //Guardar el valor actual de j; if?(ci?==?0)i?=?5?-?1; //Juez ¿Está el anterior en la línea 0?
else?i--;
if?(cj?==?5?-?1){ //Juzga si el anterior está en la línea 0 Columna N-1
j?=?0;
i?=?ci-1;
}
else?j ;
si?(a[i][j]?=?0? ||?(ci?==?0?amp;amp;?cj?==?5?-?1 )){ //Determina si la siguiente posición está ocupada o si la posición anterior está en la fila 0, columna N-1
i?=?ci 1;
j? =?cj;
}
int?flag?= ?0;
for?(int?u?=?0;?u?lt; ?5;?u ){ //Determinar si la matriz está llena
int?flag1?=?0;
para?(int?v?=?0;?v?lt;?5;?v ){
si?(a[u][v]?==?0){
bandera1?=?1;
romper;
}
}
si?(bandera1?==? 1){
bandera?=?1;
romper
}
}
si? (flag?==?0)break; //flag=0 indica que la matriz se ha llenado, salga del bucle
}
for?(int?i= 0; ilt; 5 ;i )
{
para(int?j=0;jlt;5;j)
{
arr10[i ][j]=a[i][j];
}
}
}
# pragma?endregion?W
#pragma?region?W
{int?a[5][5]?=?{0};
int ?num?=? 26;
int?i?=?0;
int?j?=?5/2;
int?ci? =?0;
int?cj?=?0;
mientras?(1){
a[i][j]?=?num ; //Cambiar num El número actual se almacena en a[i][j];
ci?=?i; //Guardar el valor actual de i; =?j; //Guarda el valor actual de j Value;
if?(ci?==?0)i?=?5?-?1 //Juzga si el anterior está activado; línea 0
else?i- -;
if?(cj?==?5?-?1){ //Juzga si el anterior está en la columna N-1
j?=?0;
i?=?ci-1
}
más?j ; >
if?(a[i][j] ?=?0?||?(ci?==?0?amp;amp;?cj?==?5?-?1)){ // Determinar si la siguiente posición está ocupada, o si la anterior es la Fila 0, columna N-1
i?=?ci 1;
j?=?cj; p>
}
int?flag?=?0;
para?(int?u?=?0;?u?lt;?5;?u ) { //Juzga si la matriz está llena
int?flag1?=?0;
for?(int?v?=?0;?v?lt;? 5;?v ){
si? (a[u][v]?==?0){
bandera1?=?1; romper;
}
}
si?(bandera1?==?1){
bandera?=?1; /p>
break;
}
}
if?(flag?==?0) //flag=0 significa el La matriz se ha llenado, sal del bucle <
/p>
}
para?(int?i=0;ilt;5;i)
{
para(int?j= 0; jlt; 5; j )
{
arr10[i 5][j 5]=a[i][j];
}
}
}
#pragma?endregion?
#pragma?region?W
{int? a[5][5]?=?{0};
int?num?=?51;
int?i?=?0;
int?j?=?5/2;
int?ci?=?0;
int?cj?=?0;
mientras? (1){
a[i][j]?=?num; //Guarda el número actual de num en a[i][j];
ci?= ? i; //Guardar el valor actual de i;
cj?=?j; //Guardar el valor actual de j;
if?(ci?==?0 )i?=? 5?-?1; //Determina si el anterior está en la línea 0
else?i--;
if?(cj?==? 5?-?1) { //Determina si el anterior está en la columna N-1
j?=?0;
i?=?ci-1; p>
}
else?j ;
si?(a[i][j]?!=?0?||?(ci?==?0 ?amp;amp;?cj ?==?5?-?1)){ //Determina si la siguiente posición está ocupada o si la posición anterior está en la fila 0, columna N-1
i?=?ci 1;
j?=?cj;
}
int?flag?=?0; for?(int?u? =?0;?u?lt;?5;?u ){ //Juzga si la matriz está llena
int?flag1?=?0; p>
para?(int? v?=?0;?v?lt;?5;?v ){
si?(a[u][v]?==?0 ){
bandera1 ?=?1;
descanso;
}
}
si?( bandera1?==?1){
p>
bandera?=?1
romper
}
}
if?(flag?== ?0)break; //flag=0 indica que la matriz se ha llenado, sal del bucle
}
para?(int?i=0;ilt;5;i)
p>{
para(int?j=0;jlt;5;j)
{
arr10[i][j 5] =a[i][j];
}
}
}
#pragma?endregion?
#pragma?region?W
{int?a[5][5]?=? {0};
int?num?=?76;
int?i?=?0;
> int?j?=?5/2;
int?ci?=?0;
int?cj?=?0;
mientras? (1){
a[i][j]?=?num; //Guarda el número actual de num en a[i][j];
ci?= ? i; //Guardar el valor actual de i;
cj?=?j; //Guardar el valor actual de j;
if?(ci?==?0 )i?=? 5?-?1; //Determina si el anterior está en la línea 0
else?i--;
if?(cj?==? 5?-?1) { //Determina si el anterior está en la columna N-1
j?=?0;
i?=?ci-1; p>
}
else?j ;
si?(a[i][j]?!=?0?||?(ci?==?0 ?amp;amp;?cj ?==?5?-?1)){ //Determina si la siguiente posición está ocupada o si la posición anterior está en la fila 0, columna N-1
i?=?ci 1;
j?=?cj;
}
int?flag?=?0; for?(int?u? =?0;?u?lt;?5;?u ){ //Juzga si la matriz está llena
int?flag1?=?0; p>
para?(int? v?=?0;?v?lt;?5;?v ){
si?(a[u][v]?==?0 ){
bandera1 ?=?1;
descanso;
}
}
si?( bandera1?==?1){
p>
bandera?=?1
romper
}
}
if?(flag?== ?0)break; //flag=0 indica que la matriz se ha llenado, sal del bucle
}
para?(int?i=0;ilt;5;i)
p>{
para(int?j=0;jlt;5;j)
{
arr10[i 5][j] =a[i][j];
}
}
}
#pragma?endregion?
for?(int?i=0;ilt;5;i)
{
para?(int?j=0;jlt;2;j)
{
si?(i==2)
{
int?k=j 2;
int ?temp=arr10[i][k];
arr10[i][k]=arr10[ i 5][k];
arr10[i 5][k] =temp;
}
else
{
int?temp=arr10[i][j];
arr10[i][j]=arr10[i 5][j]
arr10; [i 5][j]=temperatura
;
}
}
}
para?(int?j=0;jlt;5;j)
{
int?temp= arr10[j][5 k];
arr10[j][5 k]=arr10[j 5][5 k] ;
arr10[j 5][5 k]=temp;
}
para?(int?i=0;ilt;10;i)
{
for(int?j=0;jlt;10;j)
{
printf("3d", arr10[i][j]);
}
printf("\n");
}
} p>
void?main94()
{
printf("?¿Se ha impreso la pregunta 23 de matriz impar?Imprimir aquí?n=10?n=8?Dos tipos case\n");
MF5();
printf("\n\n\n");
int?arr[8][ 8]={0};
MF494(arr);
sistema("pausa");
}