Dev - C++ - Ayuda con Recursividad

   
Vista:

Ayuda con Recursividad

Publicado por Jorge Villalba (1 intervención) el 08/01/2018 17:34:00
Hola buenas, tengo un problema con una función recursiva, se mete pero nunca sale. No se si tengo un error en la sintaxis o en la condición de parada. Si alguien ve algún fallo y puede ayudarme...Gracias

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
void FncOpenPoint(Tablero Partida, int fil, int col)
{
 if(fil>0&&fil<FIL&&col>0&&col<COL)
 {
 if(Partida[fil][col].mine==false)
  if(Partida[fil][col].num=0&&Partida[fil][col].flag==false)
  {
   Partida[fil][col].visible=true;
   /*for(int i=fil-1;i<fil+1;i++)
    for(int j=col-1;j<col+1;j++)
      FncOpenPoint( Partida,  fil,  col); */  
      FncOpenPoint( Partida,  fil-1,  col-1);
    FncOpenPoint( Partida,  fil-1,  col);
    FncOpenPoint( Partida,  fil-1,  col+1);
    FncOpenPoint( Partida,  fil,  col-1);
    FncOpenPoint( Partida,  fil,  col+1);
    FncOpenPoint( Partida,  fil+1,  col-1);
    FncOpenPoint( Partida,  fil+1,  col);
    FncOpenPoint( Partida,  fil+1,  col+1);
  }
  else
   if(Partida[fil][col].mine!=true)
    Partida[fil][col].visible=true;
 }
 return;
}
}


Como es un buscaminas tiene que ir recorriendo la matriz de forma recursiva hasta que encuentre una mina o llegue al limite del tablero. Se exige que sea de forma recursiva. Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda con Recursividad

Publicado por agustin (522 intervenciones) el 18/01/2018 03:45:55
En esta línea:
1
if(Partida[fil][col].num=0&&Partida[fil][col].flag==false)
En la primera condición no estás comparando, estás asignando 0.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar