Aller au contenu

projet en Visual basic pour demain (9/03)


Recommended Posts

bonjours je doit faire un sodoku en vb pour demain, c'est un travail noté

mais je n'y arrive pas

les ficher doivent être charger dans un DataGridview soit directement avec les ficher soit en les chargeant dans un tableau a 2dim avant

j'ai joins l'archive avec ce que j'ai commencé a faire le sudoku ici ==> http://www.fileserve.com/file/tXvHb7C

merci de votre aide =)

Lien vers le commentaire
Partager sur d’autres sites

J'ai jamais programmé en VisualBasic, mais j'ai programmé un Sudoku y'a quelques mois de ça, en C.

Là où c'est super chiant, c'est de générer une grille (aléatoirement ou pas?) faisable.

J'peux te donner des idées là dedans.

Personnellement, je génère une grille aléatoire (donc un tableau à deux dimensions) jusqu'à qu'il n'y ait tous les chiffres de 1 à 9 dans chaque petit carré et dans chaque ligne & colonne qu'une seule fois. L'algorithme que j'te donne (première fois que j'fais un algorithme, doit y'avoir des trucs pas trop compréhensible) concerne la vérification de cette grille, c'est à dire que si cette fonction renvoie 0, 'faut refaire la génération de grille, si elle renvoie 1 c'est niquel.

Algo

FUNCTION  VERIFICATION_GRILLE grille[8][8], grille_temp[8]  //ou [8][8], en C la case [0][0] existe. On suppose que grile[8][8] est déjà rempli,
// et que grille_temp[8] est vide. grille_temp servira à dire qu'il y a bien un chiffre dans telle case d'un élement (petit carré, ligne ou colonne), puis de choper les chiffres que contiennent ces éléments
//Il faut donc le vider après chaque changement de contexte

       for  x=0 to x=2 {  //ou x= to x=3

               for y=1 to y=2 { // même remarque// 

                         if grille [x][y] != 0 && grille_temp[x][y] = 0 {  
                                                          then { 
                                                                   grille_temp[grille[x][y]] = 1 } }

// Je comptais mettre comment faire en sorte de t'expliquer comment faire pour savoir si un chiffre n'apparait 
//qu'une et une seule fois dans le tableau grille_temp, mais ça serait trop facile pour toi :D //

Je ne pense pas t'avoir beaucoup aidé, mais j'espère avoir titillé ton esprit d'informaticien :)

(En gros, tu prends un petit carré, tu vérifies que y'a pas deux 2 ou deux 3 par exemple, tu fais pareil pour les 8 autres carrés, puis pour chaque ligne, puis pour chaque colonne).

[En gros² : mon algo sert à rien, il ne doit pas t'apporter grand chose, mais j'avais envie d'en faire un ('faut bien un début à tout) et je voulais attirer ton attention sur les commentaires ;) ]

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...