pour un exo de l'iut en prog je dois faire un sudoku
ma fonction solution marche
mais lorsque pour un sudoku donnée, il n'y a pas de solution
j'ai une erreur de segmentation.
je n'arrive pas a le corriger
ci dessous mon code de la procédure solution
se serait sympa si l'un d'entre vous pourrait juste m'insérer les quelque ligne nécessaire pour indiqué qu'il n'y a pas de solution
ps: je suppose qu'il n'y a pas de solution lorsque la pile s'est vidé après avoir dépiler
void solution (int grille [9][9])
{
int i, j;
bool b;
stack<donnee> p;
donnee cases;
for (i = 0; i < 9; i++)
{
for (j = 0; j < 9; j++)
{
if (grille [i][j] == 0)
{
cases.pos.lig = i;
cases.pos.col = j;
cases.valeur = candidats (cases.pos, grille);
p.push (cases);
for (b = false; !b; )
{
if (!p.top().valeur.empty())
{
grille [i][j] = p.top().valeur.front();
b = true;
}
else
{
p.pop();
p.top().valeur.pop();
i = p.top().pos.lig;
j = p.top().pos.col;
grille [i][j] = 0;
}
}
}
}
}