Red de conocimiento informático - Problemas con los teléfonos móviles - Preprogramado

Preprogramado

Te lo corregí. A * * *, hay 8 errores:

Principalmente:

1. A la función salida() le faltan llaves.

2. Algunos lugares donde se deben pasar direcciones se pasan en lugar de valores.

3. Hay una variable indefinida en la función ocho(): open_link_point, así que primero la cambié a open_point.

El siguiente es el código modificado, donde lo marqué con /////////.

#incluye & ltstdio.h & gt

#incluye & ltmath.h & gt

#incluye & ltstdlib.h & gt

#Definir max_layer 5 /*? ? ¿Por qué? ¿Por qué? */

#Definición verdadera 1

#Definición falla 0

#Definición nula 0

Vínculo estructural

{

int data[3][3];/*¿Sí? ¿Por qué? */

int capa; /* ¿"Sí"? */

enlace de estructura * siguiente

Enlace estructural * a priori;

};

enlace de estructura * cerca _ head/* ¿cierre? */

estructura enlace * open _ head/*¿Abrir? */

/****************************************** ************/

/* salida() */

/* ¿Qianhun? ¿Por qué? ¿Por qué? ¿P巜妦? */

/****************************************** ***********/

salida nula (enlace de estructura *p)

{

int i, j;

p>

And (p!=null)

{ for(I = 0;I<3;I++) /*¿Qué? Lo siento*/

{

for(j = 0; j & lt3;J++) /*? Lo siento*/

printf("%d ", p-& gt; data[I][j]); Lo siento, lo siento.

*/

printf (" \ n "); /*?¿Qué? ¿Qué ocurre? */

p-;

}

}//////////////////////1

/*Comparar*/

/* ¿Qianhun? ¿Qué pasó? ¿Cuál fue la operación? ¿Cuáles son las opciones? ¿Por qué? ¿Destino? ¿Qué? ¿Por qué? */

int compare(enlace de estructura *q, int dest[3][3])

{

int i, j, count = 0;

for(I = 0;I<3;I++) /*¿Qué? */

{

for(j = 0; j & lt3;J++) /*¿Qué? */

{

If (q->;Data[i][j]==dest[i][j])/*? Lo siento, lo siento*/

count++;/*?Sí*/

Else /*梫桳桙炩梸ঽ梙*/

{

/*¿Qué pasó con el fallo? ¿Por qué? */

j = 3; /*? */

I = 3; /*?¿Cuál es el significado? */

Devuelve 0;

}

}

}

Si(count==9) // es*/

devuelve 1; /*es verdadero*/

}

/* ocho()*/

/ * ¿Lianhun? ¿Qué? ¿Por qué? ¿De qué estás hablando? ¿Qué es esto? ¿Por qué? ¿Por qué? */

int ocho(struct link *open_head, int dest[3][3])

{

int i, j, zero_x, zero _ y;/*0?? ¿Cuál es el punto? ¿Por qué? */

Enlace de estructura* new_point/*?¿Para qué sirve este edificio? */

estructura enlace * open _ point = open _ head /*¿Abrir? 1*/ ////////////2

enlace de estructura * cerrar _ punto

mientras(open_point!= NULL)/////// ////////////////3 open_link_point

{

Punto cercano = punto abierto;

open _point->prior->next = NULL

open _point-

if(compare(close_point,dest)==1

{

printf("Encontrar solución");

Salida (close_point);

Devolución 1;

}

Otro

{

if(close_point->layer>max_layer)

{

close_point->siguiente = open_point////// ///////4

close_point++;

}

Otro

{

for( I = 0;i<3;i++)/*? */

{

for(j = 0; j & lt3;j++)

{

if(close _ point-& gt; data[i][j]==0) /*data o de

st*/

{

cero _ x = I; /*¿Oye? */

cero _ y = j; /*? */

j = 3; /*?¿Qué? */

I = 3; /* ¿Qué? */

}

}

}

if((zero_x-1)>=0)/* No */

{/* Ĉ?¿Qué? */

new_point=(enlace de estructura*)malloc(sizeof(enlace de estructura));

for(I = 0;i<3;i++)/*? ¿Por qué? ¿Por qué? */

{

for(j = 0;j <3;j++)

Nuevo punto de vista->data[I][j]= close_point->data[I][j];

}

Nuevo punto->data[zero_x][zero_y]= new_point->data[zero_x-1 ][zero_y];

Nuevo punto->datos[zero_x-1][zero_y]= 0;

Nuevo punto->datos[zero_x-1][zero_y] = 0;

p>

abrir _ punto-> siguiente = nuevo _ punto/////////////////5

abrir _ punto++;

}

if((zero _ x+1)<3)/* */

{/* Ĉ?¿Qué? */

new_point=(enlace de estructura*)malloc(sizeof(enlace de estructura));

for(I = 0;i<3;i++)/*? ¿Por qué? ¿Por qué? */

{

for(j = 0;j <3;j++)

Nuevo punto de vista->data[I][j]= close_point->data[I][j];

}

Nuevo punto->data[zero_x][zero_y]= new_point->data[zero_x+1 ][zero_y];

Nuevo punto->datos[zero_x+1][zero_y]= 0;

Nuevo punto->datos[zero_x+1][zero_y] = 0;

p>

abrir _ punto-> siguiente = nuevo _ punto////////////////6

abrir _ punto++ ;

}

if((zero_y-1)>=0)/*0 */

{/* Ĉ?¿Qué? */

new_point=(enlace de estructura*)malloc(sizeof(enlace de estructura));

for(I = 0;i<3;i++)/*? ¿Por qué? ¿Por qué? */

{

for(j = 0;j <3;j++)

Nuevo punto de vista->data[I][j]= close_point->data[I][j];

}

Nuevo punto->data[zero_x][zero_y]= new_point->data[zero_x][ zero_y-1];

Nuevo punto->datos[zero_x][zero_y-1]= 0;

Nuevo punto->datos[zero_x][zero_y-1] = 0;

p>

abrir _ punto-> siguiente = nuevo _ punto//////////////////////// 7

abrir_punto++;

<

p>}

if((cero _ y+1)<3)/*0 */

{/* Ĉ?¿Qué? */

new_point=(enlace de estructura*)malloc(sizeof(enlace de estructura));

for(I = 0;i<3;i++)/*? ¿Por qué? ¿Por qué? */

{

for(j = 0;j <3;j++)

Nuevo punto de vista->data[I][j]= close_point->data[I][j];

}

Nuevo punto->data[zero_x][zero_y]= new_point->data[zero_x][ zero_y+1];

Nuevo punto->datos[zero_x][zero_y+1]= 0;

Nuevo punto->datos[zero_x][zero_y+1] = 0;

p>

abrir _ punto-> siguiente = nuevo _ punto/////////////////////////8

abrir _ punto++;

}

}

}

}

si (open_point=NULL)

printf("Sin solución");

}

/* main*/

void main( )

{

int i,j;

int destino[3][3];/*¿Seleccionar? ¿Por qué? ¿Cuál es el punto? ¿Por qué? */

struct link * open _ head =(struct link *)malloc(size of(struct link));/* ¿Eh? ¿Por qué? *

printf("El tamaño máximo es 3");/*¿Adoptar? ¿Por qué? ¿Por qué? Esta es una escultura*/

printf("Por favor ingrese <eight rompecabezas>:\n");

for(I = 0;i<3;i++ ) /*? ¿Por qué? ¿De qué estás hablando? */

{

for(j = 0; j & lt3;j++)

scanf("%d ",& ampopen _ head-& gt ;datos[I][j]);/*¿Qué pasa? ¿Qué? ¿Por qué? Open*/

}

printf("Ingrese & ltocho rompecabezas& gt:\ n ");

for(I = 0; i<3;i++) /*? ¿Por qué? ¿Por qué? ¿Por qué? */

{

for(j = 0; j & lt3;j++)

scanf("%d ", & amp destino[I] [ j]);/*¿Sí? ¿Por qué? destino[][] */

}

open_head->layer = 0;/*¿Qué pasa? ¿Por qué? 0䯶㼎։?¿Oye? */

Ocho (open_head, destino);

}