comment trier un tableau par pointeur![]()
![]()
comment trier un tableau par pointeur![]()
![]()
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;
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;
bonjour, merci, s'il vous plait, balise [code], ca t'evoque quelque chose ??
Bonjour,
Il faudrait commencer par faire un code correct.
Ton code:
ne va même pas compiler (où sont les begin que tous tes end sont censés fermer ?
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;
sans parler du 1er code que tu as posté
comment veux-tu que ça compile ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 ... else begin procedure tri; ...
ET faire une indentation correcte, c'est à dire régulière et cohérente
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;
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;
Partager