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

Algorithmes et structures de données Discussion :

Tentative de génération d'un tableau type "sudoku"


Sujet :

Algorithmes et structures de données

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Tentative de génération d'un tableau type "sudoku"
    Bonjour, nous sommes 2 amis qui tentons de mieux connaitre turbo pascal et nous nous sommes lancés le défi de générer un tableau (9x9 cases) de type sudoku , c'est à dire qu'il n'y ait qu'une fois chaque chiffre dans une colonne , dans une ligne et dans un pavé (3x3) mais je pense que vous voyez tous ce que c'est.

    Nous cherchons juste à créer ce tableau rempli.
    On n'a pour l'instant que créé une ligne , elle contient 9 éléments tous différents allant de 1 à 9 et disposés aléatoirement (nous avons créé une procédure pour cela utilisant randomize).
    Mais nous nous demandons si c'est le bon moyen pour commencer, car il nous est difficile de trouver les conditions à imposer par la suite pour les colonnes et les pavés...

    Nous voudrions juste savoir si quelqu'un s'est déjà intéressé à ce problème en turbo pascal où plus simplement si vous aviez des idées à nous proposer.

    Nous ne connaissons ce logiciel que depuis quelques séances et nos connaissances sont assez limitées , cependant nous lisons le tutoriel de ce site (qui est très bien ceci dit) en cherchant des méthodes adaptées à la génération des tableaux.
    Ce serait donc très aimable de nous aider , que ce soit par des idées pour la méthode ou par l'envoi d'exemples utilisant ce type de génération pour que l'on puisse comprendre la création de ce tableau.
    merci d'avance.

  2. #2
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 938
    Points : 59 416
    Points
    59 416
    Billets dans le blog
    2
    Par défaut
    Bonjour et bienvenue !

    Plus qu'une question de langage, il s'agit avant tout d'un problème d'algorithme.
    La question est donc déplacée dans le forum ad hoc.

    Une recherche avancée avec le mot clé "sudoku" devrait déjà fournir pas mal d'éléments de réponse.
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    il y a déjà un long post ici sur ce problème
    d'une façon générale on commence par créer un solveur
    capable de résoudre tous les problèmes de sudoku
    et qui vérifie que les solutions répondent aux contraintes
    vous trouverez de très nombreux exemples de solveur
    le solveur doit comporter un module essai erreur retour


    quand on dispose du solveur on passe au générateur en inhibant la
    fonction essai erreur du solveur
    pour cela on ajoute des nombres au hasard parmi les possibiltés restantes dans une grille vide jusqu'à ce que le solveur trouve la solution
    à ce moment on peut à partir de la position avant le dernier ajout
    rajouter des nombres pour faire un problème plus simple
    en enlever en reactivant le module essai erreur du solveur pour faire
    un problème plus compliqué
    on peut toujours chercher au hasard une grille valide mais les possibilités
    sont faibles et la puissance de calcul nécessaire importante
    dans ce cas il est préférable de travailler àpartir des quates carrés situés
    aux quatres coins
    Elle est pas belle la vie ?

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/05/2006, 09h52
  2. [VBA-E]transformer array en tableau type range
    Par matel dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/03/2006, 09h50

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