Red de conocimiento informático - Computadora portátil - Las preguntas de programación en lenguaje C son como se muestra en la imagen.

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;

}

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;

}

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;

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;

}

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;

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");

}

}

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");

}