Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Y a t-il quelqu'un d'intéressé par le SODOKU ? [ Archives / Divers ] (imad_lol)

vendredi 30 décembre 2005 à 20:24:25 | Y a t-il quelqu'un d'intéressé par le SODOKU ?

imad_lol

s il y a quelqu'un interessé par le jeu sudoku je peu reposer ma fonction que je pense qu elle est pas loin de la solution

vendredi 30 décembre 2005 à 20:41:50 | Re : y a qq interessé par le jeu SUDOKU ???????

vecchio56

Administrateur CodeS-SourceS
Il y a déja sur le site plusieurs codes de réolution de sudoku qui marchent très bien

vendredi 30 décembre 2005 à 21:07:48 | Re : y a qq interessé par le jeu SUDOKU ???????

imad_lol

stp je suis nouveau ici.
peut tu m'aider comment les avoir??
merci d'avance

vendredi 30 décembre 2005 à 21:09:05 | Re : y a qq interessé par le jeu SUDOKU ???????

vecchio56

Administrateur CodeS-SourceS
dans le moteur de recherche, tu tapes sudoku

vendredi 30 décembre 2005 à 21:11:26 | Re : y a qq interessé par le jeu SUDOKU ???????

imad_lol

oui je lé deja fait mais ces codes marche pas ou je trouve parfois des solutions compliké

samedi 31 décembre 2005 à 00:18:42 | Re : Y a t-il quelqu'un d'intéressé par le SODOKU ?

Urgo

Membre Club
Y'a pas de solution compliquées, pour une VRAIE grille de sudoku donnée (généralement 81 cases), il n'y qu'UNE SEULE solution possible.
Donc je vois pas où est le bogue.... de quels programmes parles-tu ?

Urgo

samedi 31 décembre 2005 à 00:54:45 | Re : Y a t-il quelqu'un d'intéressé par le SODOKU ?

imad_lol

je veu dire que les codes que je trouve dans le site j arrive pas a les comprendre..peut etre que cé de ma faute mais pour mon niveau peut etre que cé un peu avancé..bon voila ma fonction recursive mais elle est encore au debut..et je demande si quelqu'un peu m'aider a trouver un code plus simple parceque je doi rendre ce projet ce mardi

int parcours(int i, int j,int init)
{    int k,sortir,a,pl,pc,w,x;


for(k=init;(k<=9);k++)
  {
 sortir=0;
 if(grille[i][j]==0)
 while  (!sortir)
   {for(a=0;a<9 && !sortir;a++)
     if(grille[i][a]==k)   
                                sortir=1;

     if(!sortir)     
                       for(a=0;a<9 && !sortir;a++)
     if(grille[a][j]==k)  
                                          sortir=1;

      if(!sortir)
       {
        pl=(i/3)*3;
        pc=(j/3)*3;
               for(w=pl;w<=pl+2 && !sortir;w++)
        for(x=pc;x<=pc+2 && !sortir;x++)
                 if(grille[w][x]==k) 
                               sortir=1;
       }
      if(!sortir)
    {grille[i][j]=k;
     sortir=1;
     if (j<9)
                             parcours(i,j+1,1);
    else
    if (i<9)
                             parcours (i+1,0,1);
    }

    else
    {
     if (j<9)
                                parcours(i,j+1,1);
     else
     if (i<9)
                                parcours (i+1,0,1);
    }
    }
  }
   return 0;
}


samedi 31 décembre 2005 à 16:42:46 | Re : Y a t-il quelqu'un d'intéressé par le SODOKU ?

Klephte

Ce n’est pas évident de réfléchir à l'algorithme que tu veux mettre en place en partant de la réponse, mais le problème étant connu je me lance dans une ébauche de réponse.

Voici ce que j'ai compris de ton algo :
tu parcours le tableau à la recherche de zéro, lorsque tu en trouves en un, tu testes successivement tous les chiffres entre 1 et 9 en vérifiant à chaque tentative s’il n'est pas présent dans la ligne, la colonne ou la région sur laquelle tu travailles, si c'est bon ou mauvais (d'ou l'erreur) tu passes à la colonne ou la ligne suivante.
la correction que je te propose:
Modifier ton code pour que si sortir==1 alors retourner à l'appelant que le chiffre proposé n'est pas le bon pour qu’il fasse une tentative avec le chiffre suivant.

La valeur de init passée en paramètre n’a pas d’intérêt (pour preuve cette valeur est de faite une constante) car ce n’est pas l’appelant qui décide de la valeur à mettre dans la case, mais l’appelé !

Tu devrais aussi donner des noms de variables moins sibyllins, k pourrait s’appeler iChiffreTeste (iTestedValue), a : iTemp, sortir :bSortir

Malgré cela ton algorithme ne fonctionnera pas, car tu ne traites pas un retour d'une mauvaise proposition (qui devrait entrainer un autre choix) ou un acquittement du choix (cas qui se présentera lorsque tout le tableau sera remplit).

Ton algorithme devrait être amélioré par un choix judicieux de la case à tester, je te conseille d’écrire une fonction trouvant la cellule ayant le plus de contraintes c'est-à-dire la plus de chiffres sur sa ligne, sa colonne ou sa région, car la contrainte maximale correspond à une ligne ou colonne ou une région n’ayant qu’une case libre et donc qu’une seule valeur possible, le but étant de limiter au maximum la taille de l’arbre que ton algorithme récursif parcourra et de provoquer dès le démarrage une convergence vers le résultat.

 Je crois que cette discution risque de nous tenir en haleine jusque Mardi

Arnaud Grandville
-------------------------------
Maintenant, grâce à Microsoft et à la simplification de ses systèmes via les assistants, tout le monde est capable de créer des systèmes dangereux.

samedi 31 décembre 2005 à 22:56:39 | Re : Y a t-il quelqu'un d'intéressé par le SODOKU ?

imad_lol

merci. je suis d accord avec toi pour les noms des variables.mais pour ma fonction je pense que je suis deja sur le bon chemin..ce soir chui entrain de l'ameliorer et je te repondrai avant mardi pour dire ou ca a terminer..et peut etre je vais poser la solution de mon prof ..
a tt



Cette discussion est classé dans : quelqu, intéressé, sodoku


Répondre à ce message

Sujets en rapport avec ce message

dll pour asp avec connection odbc [ par denis ] salut!voila mon probleme :j'ai cree une dll dans laquelle il y a une ouverture de base access au moyen d'une classe qui dérive de la classe CRecordset je cherche quelqu'un fort en maths et qui est en 1ere ES !! [ par GEO ] je cherche quelqu'un qui aurais le livre orange declic maths de 1 ES merci d'avance les icones des fenetres glut [ par jack ] Est-ce que quelqu'un sait comment changer l'icone des fenetres glut. Dans une documentation trouver sur internet j'ai bien trouvé quelque chose comme probleme sous excel [ par Hicks ] Bonjour a tous g un petit probleme sur excel et je n' y connais rien a ce programme....si quelqu' un pouvais m' aider....Mon étude se porte sur la ges Convertir une chaine de caractere en Float [ par Johjo ] Bon, voilà, j'ai encore un probleme.Je dois maintenant convertir un chaine de caractere en float, et je ne trouve pas de fonctions, j'ai regardé dans Cherche "ras.h" et "raserror.h" pour Dev C++ [ par Rasze ] Programmeur sous Dev C++, il me manque certains header pour programmer des connexions internet par exemple. Si quelqu'un connait un site ou l'on peut SCANLINE Comment ça marche ? [?] [ par FLOX ] Bonjour à tous,Quelqu'un pourrais t-il m'expliquer comment marche ScanLine. Ce qu'il faut lui passer et ce qu'il renvoi.On m'a dit d'utiliser cette fo Résolution 800*600 en ms-dos [ par Boby009 NeoMorph ] J'ai un blem. J'utilise VC++ 6 et je sais pas comment on fait (ou si c possible) pour mettre une résolution 800*600 ou 1024*768 sous DOS.QUELQU'UN PEU asm Programmer needed [ par Blustuff ] Je cherche quelqu'un qui pourrait m'aider sur la conception d'un émulateur DOS, donc quelqu'un qui connait bien l'assembleur, qui pourrait m'aider voi mettre un texte en couleur avec VC++ [ par ludothenovice ] est ce que quelqu'un pourrai me dire coomment on peut faire pour mettre un texte en couleur avec vc++ car j'ai deja regarder les messages du forum qui


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,250 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.