voila j'ai un petit probleme, mon programme compile mais ne fonctionne pas comme j'aimerai,pourriez vous m'aider.
mon prog est cense demande a l'utilisateur les valeurs q'il veut mettre dans sa liste (procedure creation)et ensuite les afficher (procedure affichage) mais le pb c que le prog affiche tjs le dernier element...
merci d'avance de votre aide
voici une partie de mon prog:
procedure creation (var tdl,fdl:ptliste; element:integer;nbel:integer);
{procedure qui initialise la liste chainee en fonction des valeurs desirees par l'utilisateur}
var nouveau : ptliste;
var I : integer;
begin
nb_tot_el := 0;
{le nbre d'element de la liste est encore nul donc initialisation du compteur a 0}
new(nouveau);
{creation d'1 espace dans la memoire ayant pour taille celle du ptliste}
for I := 1 to nbel do
begin
writeln ('quel element doit on ajouter?');
readln (element);
nouveau^.info := element;
nouveau^.suiv := nil;
if tdl <> nil
then fdl^.suiv := nouveau
else tdl := nouveau;
nb_tot_el := nb_tot_el + 1;
{on incremente le compteur a chaque passage dans la boucle}
end;
writeln ('le nb d''element ki compose votre liste est de :', nb_tot_el);
end;
procedure affichage (fdl:ptliste;nb_tot_el:integer);
{procedure qui affiche a l'ecran de l'utilisateur les elements composant la liste}
var ptint : ptliste;
var I : integer;
begin
for I := 1 to nb_tot_el do
begin
ptint := fdl;
while ptint <> nil do
begin
writeln (ptint^.info);
ptint := ptint^.suiv;
end;
end;
end;
Partager