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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| void back(int col,int ligne)
{
int val = 1; // pour test de valeur
if(valeur[col][ligne] == 0) // afin d'éviter qu'il ne test sur un nombre déja inscrit par l'utilisateur
{
do
{
if(colo(col,val) && lign(ligne,val) && cas(col,ligne,val))// test si le nombre est déja présent dans la case, la ligne ou la colone
{
valeuressai[col][ligne] = val; //enregistre la valeur dans un tableau 9 9 d'essai
if(col == 9)
{
if(ligne == 9)
{
enregistrer();//copie le tableau d'essai dans l'original si il a fini
}
else
{
back(0,ligne++); // sinon tester la case suivante
}
}
else
{
back(col++,ligne);
}
}
val++;
}while(val < 10);
}
else // idem qu'au dessu mais sans le test de valeur(:) il y en a deja une
{
if(col == 8)
{
if(ligne == 8)
{
enregistrer();
}
else
{
back(0,ligne++);
}
}
else
{
back(col++,ligne);
}
}
} |
Partager