Bonsoir,
enfaite il me faudrait de l'aide pour ma partie sol du sudoko qui recherche les solutions du jeu.
A savoir, que pour chaque essai, on conserve dans une structure essai:
-la position de la case
-la file des prochaines chiffres à essayer...
Chaque file est conservée dans une pile essais.
Mon problème est qu'il resoud que la premiere ligne et ne continue pas pour les autres, je comprend vraiment pas...
Voici le code en C++:
#include <iostream>
#include <queue>
#include <stack>
using std::stack;
using std::queue;
struct position
{
int lig;
int col;
};
queue <int> candidat(position & pos,const int grille [9][9]);
struct essai
{
int lig;
int col;
queue<int>fl;
};
void solution(position & pos,int grille[9][9])
{
essai fi;
stack<essai>es;
queue<int>f;
int i=0;
int j=0;
while(i<9)
{
while(j<9)
{
if(grille[i][j]==0)
{
pos.lig=i;
pos.col=j;
f=candidat(pos,grille);
if(f.empty())
{
es.pop();
i=(es.top()).lig;
j=(es.top()).col;
f=((es.top()).fl);
grille[i][j]=f.front();
f.pop();
fi.lig=i;
fi.lig=j;
fi.fl=f;
}
else
{
grille[i][j]=f.front();
f.pop();
fi.lig=i;
fi.col=j;
fi.fl=f;
es.push(fi);
}
}
j++;
}
i++;
}
std::cout<<"Valeur i"<<i<<std::endl;
std::cout<<"Valeur j"<<j<<std::endl;
}
Je vous remercie de votre aide...