|
Bas de page | |
---|---|
Auteur | Sujet : Algo de backtracking pour sudoku |
Publicité | Posté le 02-05-2009 à 20:22:28 |
billgatesanonym | Il faudrait débugguer, soit avec un debuggeur et en suivant pas à pas, soit en écrivant des traces dans un fichier et en étudiant ces traces.
|
Un Programmeur | Quelques pistes:
|
masklinn í dag viðrar vel til loftárása | FWIW si tu fais de la résolution de sudoku tu devrais checker la solution "CPS" de Norvig (http://norvig.com/sudoku.html) --------------- Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody |
cybkiller Un clavier AZERTY en vaut deux | @billgatesanonym:
|
Un Programmeur | Je te conseille de revoir ce qu'est la récursivité. |
cybkiller Un clavier AZERTY en vaut deux | Je regarderais bien mes cours, mais étant en fac et avec la LRU, j'ai eu environ 1 mois de cours ... |
billgatesanonym |
C'est bien de l'avoir localisée. Maintenant il faut se demander ce qui ne va pas sur cette ligne. En fait, elle est assez banale. Le problème est vraisemblablement causé par des valeurs abbérantes de l'un des indices ou de plusieurs indices. Donc il faudrait voir ce que contiennent les variables y, x, pav juste avant cette ligne. Il y a sans doute l'une d'elles qui est en dehors des limites. Il faudrait chercher comment l'une de ses variables pourrait contenir une valeur hors limite. Il y a deux hypothèses. Soit une mauvaise mise à jour de ces variables, soit un effet secondaire malheureux qui serait dû à "l'explosion de la pile", ce qui est un phénomène que l'on rencontre avec les fonctions récursives mal maîtrisées.
Le programme revient en arrière avec le return de la ligne 20 ou celui de la ligne 36 (qui est implicite, mais qui aurait pû être mis explicitement pour que le code soit plus clair). La variable prof est passée par valeur, et non pas par référence. Cela implique qu'après le return et la sortie de la fonction, cette variable prof retrouvera sa valeur d'avant. Message édité par billgatesanonym le 03-05-2009 à 16:11:08 |
cybkiller Un clavier AZERTY en vaut deux | D'abord, merci pour ta réponse; J'ai appliqué les divers changements, voici la fonction :
@billgatesanonym : vois-tu ce qui ne va pas ? edit: si je réexécute la fonction, il ne me "solutionne" plus que 3 cases puis 2 (ne descend pas en dessous de 2 "solutions" ). Message édité par cybkiller le 03-05-2009 à 17:14:47 |
billgatesanonym | Si ça ne plante plus, c'est déjà un progrès énorme. Bravo !
|
Publicité | Posté le 03-05-2009 à 18:47:53 |
Joel F Real men use unique_ptr | pourquoi gérer la profondeur de recursivité avec une seule valeur alros que tu est clairement en 2D. Ta fonction pourrais prendre un profx, profx et évité de te vautrer dans tes / % |
cybkiller Un clavier AZERTY en vaut deux | Si ça ne tenait qu'à moi, il y aurait en effet deux valeurs ...
|
Sujets relatifs | |
---|---|
[Résolu] Algo de création d'une clé de validation | Algo / concepts de correction du flou |
Sudoku | Algo de transformation de courbes (composées d'un nb fini de points) |
sudoku en C ! | [Algo][Java] Appli de compta |
Quel est le meilleur moyen de réaliser une grille de sudoku avec GTK ? | recherche algo pour optimiser une recherche dans un graphe cyclique |
Demande de conseils pour un algo | aide algo sur les matrices |
Plus de sujets relatifs à : Algo de backtracking pour sudoku |