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

Pascal Discussion :

Tri de tableau par pointeurs


Sujet :

Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de colocolo
    Inscrit en
    Février 2007
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 166
    Par défaut Tri de tableau par pointeurs
    comment trier un tableau par pointeur

  2. #2
    Membre confirmé Avatar de colocolo
    Inscrit en
    Février 2007
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 166
    Par défaut merci
    j'ai essayé ça mais ça marche pas. Merci

    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
    procedure triinsertion;
    var
    begin
    p2:=p;
    p:=p^lien
    p2^.lien:=nil;
    while (p<>nil) do begin
          if (p^.valeur<p2.valeur)then begin
                                        p1:=p;
                                        p1^lien:=p2;
                                        p2:=p1;
                                        end
          else begin
    procedure tri;
    var p,temp1,temp2,min:liste;
    t:integer;
    begin
    temp1:=p;
    while (temp1<>nil) do
             begin
             min:=temp1;
             temp2:=temp1;
             while(temp1<>nil) do
                  begin
                  if (min^.valeur>temp2^.valeur) then
                  min:=temp2;
                  temp2:=temp2^.lien;
                  end;
                  t:=temp1^.valeur;
                  temp1^.valeur:=min^.valeur;
                  min^.valeur:=t;
                  temp1:=temp1^.valeur;
                  end;
                  end;

  3. #3
    Membre confirmé Avatar de colocolo
    Inscrit en
    Février 2007
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 166
    Par défaut merci svp
    J'ai essayé aussi ça mais ça ne marche pas non plus. Je n'arrive pas à trouver la faille.
    Le tri de sélection marche sur le principe de chercher le minimum de toute la liste puis refaire la méthode jusqu'à ce que la liste soit triée.
    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
    procedure tri_par_selection;
    var p:liste;
    i,j:integer;
     
    begin
     for i:=1 to Llongueur(l)-1 do
       min:=i;
     
       for j:=i+1 to Llongueur(l)do
       if (p^.lien^.valeur<p^.valeur) then p:=p^.lien;
       if (i<>min)then begin
                           x:=p^.valeur;
                           p^.lien^.valeur:=p^.valeur;
                           p^.valeur:=x;
                           end;
       p:=p^.lien;
       end;
       end;
       end;

  4. #4
    Membre émérite
    Inscrit en
    Janvier 2005
    Messages
    711
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 711
    Par défaut
    bonjour, merci, s'il vous plait, balise [code], ca t'evoque quelque chose ??

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    633
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 633
    Par défaut
    Bonjour,

    Il faudrait commencer par faire un code correct.

    Ton code:
    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
    procedure tri_par_selection;
    var p:liste;
    i,j:integer;
     
    begin
     for i:=1 to Llongueur(l)-1 do
       min:=i;
     
       for j:=i+1 to Llongueur(l)do
       if (p^.lien^.valeur<p^.valeur) then p:=p^.lien;
       if (i<>min)then begin
                           x:=p^.valeur;
                           p^.lien^.valeur:=p^.valeur;
                           p^.valeur:=x;
                           end;
       p:=p^.lien;
       end;
       end;
       end;
    ne va même pas compiler (où sont les begin que tous tes end sont censés fermer ?

    sans parler du 1er code que tu as posté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ...
          else begin
    procedure tri;
    ...
    comment veux-tu que ça compile ?

    ET faire une indentation correcte, c'est à dire régulière et cohérente

  6. #6
    Membre confirmé Avatar de colocolo
    Inscrit en
    Février 2007
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 166
    Par défaut
    J'aimerais que quelqu'un m'aide pour que le code soit juste :
    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
    procedure tri_par_selection;
    var p:liste;
    i,j:integer;
     
    begin
     for i:=1 to Llongueur(l)-1 do
       min:=i;
     
       for j:=i+1 to Llongueur(l)do
       if (p^.lien^.valeur<p^.valeur) then p:=p^.lien;
       if (i<>min)then begin
                           x:=p^.valeur;
                           p^.lien^.valeur:=p^.valeur;
                           p^.valeur:=x;
                           end;
       p:=p^.lien;
       end;
       end;
       end;

  7. #7
    Inactif
    Inscrit en
    Janvier 2007
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Janvier 2007
    Messages : 98
    Par défaut
    bonjour mais j'ai lu que le dernier code tu devrais nous donner tout le programme dans ce cas pas une procedure peut étre que c'est l'appel qui fonctionne pas
    ou est la declaration du type liste et ou est le READLN;

Discussions similaires

  1. Modification du contenu d'un tableau par pointeur
    Par africanwinners dans le forum Débuter
    Réponses: 2
    Dernier message: 25/08/2011, 19h27
  2. [DOM] Tri de tableau par Javascript [Javascript, XSLT, XML]
    Par edevouge dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 30/05/2007, 16h13
  3. Lecture de tableau par pointeur
    Par SPACHFR dans le forum Débuter
    Réponses: 7
    Dernier message: 16/05/2007, 16h43
  4. tri d'index de tableau par rapport au contenu
    Par parisien dans le forum C
    Réponses: 7
    Dernier message: 13/02/2006, 23h32
  5. [] Tri d'un tableau par ordre alphabétique
    Par cafeine dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 17/09/2002, 08h43

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