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 :

Probleme liste chainne et recursif


Sujet :

Algorithmes et structures de données

  1. #1
    Membre habitué
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mars 2002
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 119
    Points : 126
    Points
    126
    Par défaut [Resolu] Probleme liste chainne et recursif
    Bonjour, je fait un jeu de carte (bataille) en recursi et liste chainee

    Le prob c est que je n arrive pas a faire ma fonction melange

    je l appel a partir de ma fonction couper_paquet_aleat qui coupe le paquet en 2 , et apres je veux melanger en mettant un coup la 1 ere carte du paquet1 dans p puis un coup la 1 ere carte du paquet 2 dans p

    et ainsi de suite jusqua epuisement des 2 paquets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
     
    type
    tpaquet=^tcarte;
    tcarte=record
     
        couleur:integer ;
        valeur:integer ;
        suiv:tpaquet ;
     
    end;
     
    -------------------------------------
     
    function melangerecursif(p,paquet1,paquet2:tpaquet):tpaquet;
    var liste_temp:tpaquet;
     
    begin
     
     
         if not est_liste_vide(paquet1) and not est_liste_vide(paquet2) then
     
              melangerecursif:=melangerecursif(p,ajout_queue(suivant(paquet1),p),(ajout_queue(suivant(paquet2),p)));
     
         if est_liste_vide(paquet1) and not  est_liste_vide(paquet2) then
     
              melangerecursif:=concatene (paquet2,p);
     
         if est_liste_vide(paquet2) and not  est_liste_vide(paquet1) then
              melangerecursif:=concatene (paquet1,p) ;
     
     
    end;
    (****************************************************)
    (****************************************************)
    (****************************************************)
     
    procedure coupe_paquet_aleat(var p,paquet1,paquet2:tpaquet);
    var nbcoupe:integer;
     
    begin
           randomize;
           nbcoupe:=random(maxcoul*maxval);
           for i:= 1 to nbcoupe do
           begin
                 paquet1:=ajout_queue(tete(p),paquet1);
                 p:=suivant(p);
           end;
           paquet2:=p;
           p:=liste_vide;
           writeln(nbcoupe);
           melangerecursif(p,paquet1,paquet2);
       end;
     
    (**********************************************)
    la fonction tete prend la 1 ere carte d un paquet , et toute les autres fonctions comme ajouter queue marche

    qqn a t il une idee ?
    post redirigé de Pascal par HRS

  2. #2
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    Par défaut
    Ben à priori, je ne vois pas de gros problèmes...
    Dans ta fonction melangerecursif, tu ne traîtes pas le cas où les deux listes sont vides. C'est voulu ?

    Sinon poste ton code en entier (si il n'est pas trop long, ou sinon les parties qui nous permettraient de faire marcher le programme).

    a+
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  3. #3
    Membre habitué
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mars 2002
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 119
    Points : 126
    Points
    126
    Par défaut
    c est bon j ai trouvé merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. jai probleme dans les listes chainnes
    Par ChouAib0202 dans le forum Débuter
    Réponses: 3
    Dernier message: 20/02/2015, 11h24
  2. [javascript] Probleme liste deroulante
    Par samtheh dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/12/2005, 14h13
  3. Probleme liste simplement chaînée
    Par sorry60 dans le forum C
    Réponses: 23
    Dernier message: 19/11/2005, 20h17
  4. Probleme liste chainée
    Par Raton dans le forum C++
    Réponses: 8
    Dernier message: 15/11/2005, 19h25
  5. [VB.NET] Problème liste Parent-Enfant dans DataGrid
    Par vonbier dans le forum ASP.NET
    Réponses: 7
    Dernier message: 27/01/2005, 08h53

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