Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - neskky

#1
Programación C/C++ / Re: juego del caballo
4 Noviembre 2016, 21:11 PM
Prueba con esta función.

void Caballo(int tab[][N], int i, int pos_x, int pos_y, int *q) {

int k,u,v;
k=0;
*q=0;

do {
    u=pos_x + ejex[k];  v=pos_y + ejey[k];
    if(u>=0 && u<N && v>=0 && v< N)  {
       if (tab[u][v]==0) {
          tab[u][v]=i;
          if(i< N*N)  {
             Caballo(tab,i+1,u,v,q);
             if(!(*q)) tab[u][v]=0;
            }
          else *q=1;
        }
     }
   k++;
  } while(!(*q) && k<8);
}


también ->

void Caballo(int tab[][N], int i, int pos_x, int pos_y)  {
     int k,u,v;
     k=0;
  do{
     u=pos_x + ejex[k];  v=pos_y + ejey[k];
     if(u>=0 && u<N && v>=0 && v< N)
      {
        if (tab[u][v]==0)
         {
           tab[u][v]=i;
           if(i< N*N)
             Caballo (tab, i+1 ,u ,v);
           else
              ImprimeSol(tab);
           tab[u][v]=0;
        }
     }
     k++;
   } while(k<8);
}