Help ,sudoku...

nardelmouk Messages postés 30 Date d'inscription lundi 8 août 2005 Statut Membre Dernière intervention 16 avril 2008 - 11 juin 2006 à 15:38
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 - 12 juin 2006 à 10:25
salut ,en faisant une application pour essayer de résoudre des sudokus
de 16 cases,je fais le code et tout et quand je l'éxécute,il me dit que
l'espace de la pile est insuffisant. ma méthode est le backtracking
avec des fonctions récursives.il arrive a me trouver une case et après
il me fait l'erreur. j'ai déjà poster un message sur le forum mais j'ai
changé le code après je vous met l'adresse de mon code :
http://membres.lycos.fr/maxdenantes/download/sudoku.zip. executez le
programme et ouvrez SUDOKU.txt pou l'instant c'est le seul exemple que
j'ai mais vous pouvez aussi en rentrer un.

merci d'avance parce que je ne sais un peu rien sur la mémoire
apparemment et je ne sais vraiment pas comment résoudre ce probleme

3 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
11 juin 2006 à 18:49
Comme je te l'ai dit précédement, ce n'est pas vraiment un problème de mémoire, mais plutôt un problème de boucle récursive infinie ! Il faut absolument que tu sorte à un moment donné de tes appels récursifs, sinon, erreur d'espace de pile !

_
Avant de poster dans le forum,
prière d'aller lire ceci :
http://www.codes-sources.com/reglement.aspx
<s></s>
0
nardelmouk Messages postés 30 Date d'inscription lundi 8 août 2005 Statut Membre Dernière intervention 16 avril 2008
11 juin 2006 à 19:38
d'accord, donc il faut que quand la grille est finie, je sorte de la boucle en appellant plus la boucle principale. mais quand je mets résoudre il me remplis la premiere case puis il laisse tous les cases qui sont a zero comme elles étaient au début donc il ne peut pas arreter la boucle. c'est bizzare pourtant parce que a chaque fois qu'il remplis une case, il doit passer a la case suivante qui est vide et remettre les valeurs de 1 a quatre mais il laisse la deuxieme case vide et toutes les autres cases qui étaient vides ,vides. on dirait que le programme bugge quand il arrive a la deuxieme pourtant il ne fait que 4 boucles au maximum puisque les valeurs peuvent allées de 1 a 4.
je ne comprends plus trop ...
merci d'avance
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
12 juin 2006 à 10:25
Salut,

Il y a énormément de source sur les Sudoku.
Peut-être en téléchargeant l'une d'elles cela te permettra de te mettre sur la voie. Le fait de voir des exemples fait remarquer des solutions plus adaptés (sans pour autant copier tout le code, bien sûr).

@++

  Mortalino 
Le Mystérieux Chevalier "Provençal, le Gaulois"
N'oubliez pas de lire le règlement
0
Rejoignez-nous