mamsk00
Messages postés10Date d'inscriptiondimanche 12 octobre 2008StatutMembreDernière intervention 5 août 2010
-
10 mai 2009 à 23:36
mamsk00
Messages postés10Date d'inscriptiondimanche 12 octobre 2008StatutMembreDernière intervention 5 août 2010
-
19 mai 2009 à 16:35
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
mamsk00
Messages postés10Date d'inscriptiondimanche 12 octobre 2008StatutMembreDernière intervention 5 août 2010 19 mai 2009 à 16:35
Mon code est très bien comme ca pour le moment, je l'utilise dans mon programme SudoBrol. Je poseterais l'algo de génération plus tard. Pour ceux qui voudrais SudoBrol envoyer moi un mail mamsk@live.be
Chubab
Messages postés11Date d'inscriptionmardi 6 décembre 2005StatutMembreDernière intervention19 mai 2009 19 mai 2009 à 15:47
Je dirais simplement que c'est plus un algo de verification qu'un algo de resolution...
Si tu as un sudoku "neuf" cet algo ne le rempliras pas...
Si ton but est simplement de verifier et que tu veux etre optimale le mieux selon moi serais d'avoir un array chiffre[9] et que pour admettons chaque ligne tu fais chiffre[sudoku[a][b]]++ et tu tu verifie par le fait meme, en t'assurant de ne pas depasser 1, tout les chiffres d'une meme ligne d'un seul coup...
Tu dois ensuite repeter pour chaque colonnes et chaques paves, mais c'est deja beaucoup plus rapide!
gaumerie
Messages postés4Date d'inscriptionsamedi 3 septembre 2005StatutMembreDernière intervention11 mai 2009 11 mai 2009 à 17:16
Tu fais quand même 18 tests par case. Il y a moyen de ne faire que 3 tests par case si je ne me trompe pas
mamsk00
Messages postés10Date d'inscriptiondimanche 12 octobre 2008StatutMembreDernière intervention 5 août 2010 11 mai 2009 à 17:13
Oui l'algo marche très bien, je l'utilise dans mon programme SudoBrol.
gaumerie
Messages postés4Date d'inscriptionsamedi 3 septembre 2005StatutMembreDernière intervention11 mai 2009 11 mai 2009 à 16:30
Ah ok je viens de comprendre! J'ai pas testé mais je suppose que tu l'as fait et moi en tout cas ca me semble correcte. Mais j'avais fait il y a longtemps un programme de résolution de sudoku et ca utilisait un système de masques, qui je crois est beaucoup plus rapides (beaucoup moins de tests). Ici, pour un programme de vérification comme le tien, il y a surement moyen d'utiliser un système de masques aussi et ca serait quand meme beaucoup mieux.
mamsk00
Messages postés10Date d'inscriptiondimanche 12 octobre 2008StatutMembreDernière intervention 5 août 2010 11 mai 2009 à 16:22
Ben si lol, une fois les boucles fini, il suffit de tester la variable erreur pour savoir si la grille respecte la règle du sudoku ou pas.
gaumerie
Messages postés4Date d'inscriptionsamedi 3 septembre 2005StatutMembreDernière intervention11 mai 2009 11 mai 2009 à 16:19
Ca ne résoud rien, si?
marik7335
Messages postés115Date d'inscriptionsamedi 27 décembre 2003StatutMembreDernière intervention11 mai 2009 11 mai 2009 à 14:07
Serait-il possible d'avoir l'exécutable dans le zip, s.v.p ? Je n'ai pas de compilateur sous la main pour tester.
Marik7335.
mamsk00
Messages postés10Date d'inscriptiondimanche 12 octobre 2008StatutMembreDernière intervention 5 août 2010 10 mai 2009 à 23:36
Je pourrais boucler les boucles à la moindre erreur mais je voulais savoir le nombre d'erreur sur la grille.
19 mai 2009 à 16:35
19 mai 2009 à 15:47
Si tu as un sudoku "neuf" cet algo ne le rempliras pas...
Si ton but est simplement de verifier et que tu veux etre optimale le mieux selon moi serais d'avoir un array chiffre[9] et que pour admettons chaque ligne tu fais chiffre[sudoku[a][b]]++ et tu tu verifie par le fait meme, en t'assurant de ne pas depasser 1, tout les chiffres d'une meme ligne d'un seul coup...
Tu dois ensuite repeter pour chaque colonnes et chaques paves, mais c'est deja beaucoup plus rapide!
11 mai 2009 à 17:16
11 mai 2009 à 17:13
11 mai 2009 à 16:30
11 mai 2009 à 16:22
11 mai 2009 à 16:19
11 mai 2009 à 14:07
Marik7335.
10 mai 2009 à 23:36