IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

generation grille sudoku en c


Sujet :

C

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Avril 2012
    Messages : 2
    Points : 2
    Points
    2
    Par défaut generation grille sudoku en c
    Bonjour ,
    je veux bien faire un programme qui permet de generer une grille sudoku entièrement remplie en c càd à partir de zéro (solution autrement dit)
    comme vous savez ,elle doit satisfaire les règles :
    - tout entier de la grille doit être compris entre 1 et 9
    - l'entier ne doit pas se répéter sur la ligne
    - l'entier ne doit pas se répéter sur la colonne
    - l'entier ne doit pas se répéter dans sa région (il y a 9 regions)


    D'abord j'ai commencé à faire une fontion qui genère aliatoirement un nbre et avant de le mettre dans la grille au coordonnées (i,j) elle vérifie s'il existe dans la ligne dans la colonne et dans la région :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    int generer_nb(int m[9][9],int i,int j)
    { int nbre , exist_sur_ligne ,exist_sur_colonne ,exist_dans_region ;
    do
    {
        nbre = rand()%9 + 1;
        exist_sur_ligne=existe_sur_ligne(nbre,m,i,j);
        exist_sur_colonne=existe_sur_colonne(nbre,m,i,j);
        exist_dans_region=existe_dans_region(nbre,m,i,j);
    }
    while(exist_sur_ligne||exist_sur_colonne||exist_dans_region);
    return nbre ;
    }
    heuresement ça marche correctement
    mais ,voilà le problème :

    Après , (j'ai initialisé la grille à 0) et puis quand j'ai commencé à remplir la grille comme suit:

    Dans le main :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    for (i=0;i<9;i++)
    {
        for (j=0;j<9;j++)
        {
           nbre=generer_nb(m,i,j);
           m[i][j]=nbre;
           afficher_grille(m);
        }
    }
    Je me trouve devant cette situation :


    le programme se bloque dans la derniere colonne de la deuxième ligne :
    en faite c'est logique car il n'ya pas un nbre qui satisfait au conditions citées si-dessus ..
    j'ai essayée remplir la grille de mille manière mais j'ai pas trouvé la solution :
    * j'ai essayé de commencé par le milieu , de remplir symétriquement ....

    Comment faire svp ?

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Il est normal que votre programme bloque, sachant qu'en dernière position il va essayer de mettre un 7, sauf que le 7 est déjà dans le bloc.

    Je vous conseille donc de lire un des nombreux tutoriel sur comment faire une grille de sudoku (cela a été fait et refait).
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

Discussions similaires

  1. Algorithme de generation de grille Sudoku
    Par mazidyoussef dans le forum C
    Réponses: 1
    Dernier message: 21/01/2013, 18h53
  2. [C++]Génération de grille sudoku
    Par theprogrammeur dans le forum Algorithmes et structures de données
    Réponses: 14
    Dernier message: 05/07/2008, 11h05
  3. Vérification d'une grille sudoku
    Par ergogirl dans le forum Pascal
    Réponses: 4
    Dernier message: 26/02/2007, 12h52
  4. [Free Pascal] Présentation grille Sudoku
    Par cocofoto dans le forum Free Pascal
    Réponses: 4
    Dernier message: 14/02/2007, 14h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo