Probleme backtracking

Signaler
Messages postés
4
Date d'inscription
jeudi 16 novembre 2006
Statut
Membre
Dernière intervention
5 mai 2007
-
Messages postés
3
Date d'inscription
dimanche 9 janvier 2011
Statut
Membre
Dernière intervention
10 janvier 2011
-
Bonsoir à tous,


Je vous
expose vite mon probleme, je souhaite realiser un sudoku (9x9),
cependant il ne resoud que les sudokus facile, moyen et lui resiste
certains difficiles et les diaboliques.



En faisant des recherches, la solution serait d' ajouter à ma fonction
de resolution du "backtracking", mais je ne vois franchement pas
comment faire.


Le code de ma fonction de resolution void sudoku(grille g) et le suivant:


void sudoku(grille g)  // Fonction resolvant une grille (recursive)

{

  int i, j, k, c;

 

  grille g1=(Sgrille*)malloc(sizeof(Sgrille));  // Grille de recopie

  g1=g;  // On recopie g dans g1

 

  if(g->k==81)  // Test si la grille est remplie

    affsudo(g);  // Affichage de la solution

  else

  {

   for(k=1;k<10;k++) // Parcours des possibilites

    {

     
c=casecontr(g);      // Defini c comme index
de la case la plus contrainte de la grille

    

      // Definition des coordonnées (i,j) en fonction de c

      i=c/9;

      j=c-(i*9);

   

      ens e=possibilite(g,i,j);  // L 'ensemble e contient les possibilites de la case (i,j)

     

      if(dans(e,k)==vrai)  // Verifie si k est dans l' ensemble e

     {

        g1=ielem(g1,i ,j ,k); //insert dans g1 l'element k à la case (i,j)

        sudoku(g1);

      }

    }   

  }

}


Desolé, je ne sais pas comment on indente , je suis nouvelle sur le forum .



Donc, si quelqu' un aurait une idée pour ameliorer mon programme, je
lui serais reconnaissante, cela fait 2 jours que je ne dors plus .


Merci d'avance.

Bonne fin soirée.


PS: j' ai ausii posté dans le theme: algo/maths

4 réponses

Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
8
Inutile de poster dans plusieurs thèmes, un seul post sera conservé

_____________________________________
Un éditeur de ressources gratuit pour Windows
Messages postés
4
Date d'inscription
jeudi 16 novembre 2006
Statut
Membre
Dernière intervention
5 mai 2007

Merci pour l' info  ,


je suis nouvelle et je ne connais pas le fonctionnement.

Je pensais qu' en envoyant sur divers themes, j' aurais plus de chance d'obtenir une reponse .


Desole encore.
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
8
Utilise le moteur de recherche, tu trouvera un certain nombre de sources traitant de la résolution des sudokus

_____________________________________
Un éditeur de ressources gratuit pour Windows
Messages postés
3
Date d'inscription
dimanche 9 janvier 2011
Statut
Membre
Dernière intervention
10 janvier 2011

il y a vraiment po de resoursses dans le moteur de recherche moi ossi j ai le mm bleme de sudoku