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

avec Java Discussion :

Producteurs/Consommateurs tour de hanoi


Sujet :

avec Java

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Producteurs/Consommateurs tour de hanoi
    Bonjour tout le monde

    Je suis étudiant en informatique et j'ai recu la tâche suivante:

    la tour de hanoi peut être programmé récursive avec les méthodes suivantes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    void hanoi(int discs, String start, String aim, String temp)
    {
    hanoi(discs- 1, start, aim, temp);
    move(discs, start, aim);
    hanoi(discs- 1, temp, aim, start);
    } 
     
    void move(int disc, String start, String aim)
    {
    System.out.println("Disc" + disc+ " from " + start + " to " + aim);
    }
    Avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    hanoi(3, "A", "B", "C")
    le programme donne tous les tours d'un coup. Modifiez l'algorithme ainsi qu'il y a une méthode "nextMove", qui permet d'imprimer un tour après l'autre en utilisant le modèle consommateur/producteur.

    Est-ce que quelqu'un peut me donner une astuce comment réaliser ce devoir?

    Est-ce que c'est possible de continuer d'utilser les méthodes recursives? Quelle partie est le consommateur et la-quelle le producteur?

    Je suis désesperé car je suis devant ce devoir depuis 8 heures. J'ai essayer de réaliser ca avec un "stack", qui a les methodes "pop" et "push" pour les tours, mais ca marche pas. Alors si quelqu'un peu me donner juste une idée comment le faire, ca m'aiderai déjà.

    Merci d'avance.

  2. #2
    Membre du Club

    Inscrit en
    Février 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Février 2008
    Messages : 36
    Points : 45
    Points
    45

  3. #3
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Il n'y a pas un cours précédant ce devoir, expliquant justement ce que sont des "producteurs" et des "consommateurs" ?

    Une indication : tu peux garder ta méthode de résolution récursive (qui fait tout le travail en une seule fois), mais au lieu d'afficher le résultat, tu le stockes dans une pile (de type FIFO de préférence ).

    Chaque appel à "nextMove" dépile un élément et le renvoie.

Discussions similaires

  1. Tours de Hanoi
    Par leakim56 dans le forum C
    Réponses: 11
    Dernier message: 23/06/2006, 13h02
  2. Interface producteur/consommateur utilisant SWING
    Par El pistol dans le forum AWT/Swing
    Réponses: 17
    Dernier message: 03/04/2006, 15h06
  3. [Threads]Producteur - Consommateur - Filemessages
    Par slim dans le forum Concurrence et multi-thread
    Réponses: 10
    Dernier message: 08/03/2006, 18h57
  4. Réponses: 8
    Dernier message: 09/02/2006, 18h51
  5. Tour de Hanoi
    Par issou dans le forum C
    Réponses: 9
    Dernier message: 22/10/2005, 19h43

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