Bonjour a tous,
J'essaie de realiser une liste chainée de nom que l'on range par ordre alphabetique, malheuresement je n'arrive a rien, et a chaque fois que j'entre une valeur, elle ecrase la precedente ou alors mon programme quitte subitement lorsque j'entre un nom![]()
Si vous trouvez l'erreur merci de m'aider
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 procedure ajout_alpha(var deb:ptr_famille); var fam,famprec:ptr_famille; name:string[20]; place:boolean; begin writeln('Entrez le nom'); readln(name); famprec:=NIL; fam:=deb; place:=false; while (fam<>NIL) AND (place=false) do begin if (fam^.nom>name) then begin place:=TRUE; end else begin famprec:=fam; fam:=fam^.suivant; end; end; if (fam=NIL) then begin new(fam); fam^.suivant:=deb; deb:=fam; fam^.nom:=name; end else begin new(fam); fam^.suivant:=famprec^.suivant; fam^.nom:=name; famprec^.suivant:=fam; end; end;[/quote][/quote]
Partager