Algo en rapport avec un sudoku, help

Algo en rapport avec un sudoku, help - Algo - Programmation

Marsh Posté le 21-11-2008 à 18:07:07    

Bonjour,
 
J'ai un petit probleme. Admettons que j'ai 81 chiffres distribués tel un sudoku dans une matrice de 9 * 9. Ces 81 chiffres sont stockés ds une liste, tout va bien. Le shema montre comment les indexes sont numerotés:
 
1                                 9
*  *  * | *  *  * |  *  *  *
*  *  * | *  *  * |  *  *  *
*  *  * | *  *  * |  *  *  *
--------------------------
*  *  * | *  *  * |  *  *  *
*  *  * | *  *  * |  *  *  *
*  *  * | *  *  * |  *  *  *
--------------------------
*  *  * | *  *  * |  *  *  *
*  *  * | *  *  * |  *  *  *
*  *  * | *  *  * |  *  *  *
                                  81
 
J'aimerais decomposer cette liste en 3 listes differentes:
- Une liste contenant 9 listes contenant les lignes horizontales
- Une liste contenant 9 listes contenant les lignes verticales
- Une liste contenant les chiffres des 9 groupes de 9 (les carrés)
 
J'ai les 2 prermieres listes, je galere sur la 3eme (le groupement en carrés). Comment, a partir d'une liste de 81 elements qui se suivent, je peux faire ce decoupage dans une boucle ?
 
Les indices pour le 1er groupe sont en rouge:
 
0   1   2  | 3   4   5  | 6   7  8
9  10  11 | 12 13 14 | 15 16 17
18 19 20 | ...
 
Il faut que je me demerde pour couper la chaine de 81 de facon a obtenir ces chiffres, et de les mettre ds une liste. Ensuite, faire ca 9 fois pour tous les avoir. Ca fait un moment que je me casse la tete dessus, et je vois pas trop comment faire. Le decalage des indices est regulier, c'est a dire que d'une ligne a l'autre on fait +9, et l'ecart entre 2 debuts de series de 3 est de 7 ( [:tinostar] )
 
En shema:
 
0 1 2 .... +7 .... 9 10 11 .... +7 .... 18 19 20
 
Bref :D Je sais que je pourrais faire autrement, mais ca m'interesse parce que ca doit etre faisable :D Je precise que je fais ca pour moi hein, pas de projet universitaire ni rien :o Jsuis en .NET si ca interesse qqun :o
 
 :hello:


Message édité par ParadoX le 21-11-2008 à 18:07:31

---------------
Pier noir la mèr - La chanson par HFR Band - Topic TrueCrypt
Reply

Marsh Posté le 21-11-2008 à 18:07:07   

Reply

Marsh Posté le 21-11-2008 à 23:32:30    

Reply

Marsh Posté le 22-11-2008 à 11:36:39    

Suis ton schema, tu as l'air de presque être arrivé à ton but... "Suffit de" faire ton +7 après avoir pris 3 chiffres.
 
Mais plus fondamentalement, je ne vois pas très bien quoi "Une liste contenant les chiffres des 9 groupes de 9 (les carrés)" peut te servir pour le sudoku, ni pq tu as 3 listes.
 
Un seul tableau / liste suffit. Ce qui t'intéresse, c'est de respecter des contraintes (vertical, horizontal et carré). Chacune des contraintes se vérifie relativement facilement avec une structure de données toute bête.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 22-11-2008 à 12:32:14    

Exact :jap:
 
Je me suis dit au debut que ca serait peut etre avantageux d'avoir 3 listes, comme ca on verifie qu'un chiffre donné n'est dans aucune de ces 3 listes assez facilement.
 
Avec une matrice, c'est chiant niveau coordonnées. C'est pour ca que je suis parti sur des listes dès le debut, m'enfin vu comme c'est parti, je vais sans doute changer.
 
Pour le "+7" apres avoir pris 3 chiffres, je n'y parviens pas. Ca marche pour le 1er passage, et donc le 1er bloc. Mais je ne parviens pas a faire le decalage pour les prochains 8 blocs [:tinostar]


---------------
Pier noir la mèr - La chanson par HFR Band - Topic TrueCrypt
Reply

Marsh Posté le 23-11-2008 à 10:58:46    

je vois pas en quoi un ematrice est plus compliquée que otn usine à gaz :E

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed