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 56
| program inverse_liste;
uses crt;
const n=5;
type ptr=^noeud;
noeud=record
val:integer;
suiv:ptr;
end;
var c,c1:ptr;
procedure cree_invers(var c1:ptr;c:ptr);
var t:ptr;x:integer;
begin
t:=nil;c1:=nil;
while c<>nil do
begin
x:=c^.val;
writeln(x);
new(c1);
c1^.suiv:=t;
t:=c1;
t^.val:=x;
end;
c:=c^.suiv;
end;
procedure cree_liste(var c:ptr);
var a,b:ptr;i:integer;
begin
new(a);
writeln('1 ere valeur:');
readln(a^.val);
b:=a;
writeln;
for i:=2 to n do
begin
new(c);
writeln(i,' ieme valeur ');
readln(c^.val);
b^.suiv:=c;
b:=c;
writeln;
end;
b^.suiv:=nil;
c:=a;
for i:=1 to n do
begin
writeln(c^.val);
c:=c^.suiv;
end;
end;
begin
clrscr;
writeln(' voila ma liste:');
cree_liste(c);
writeln(' et voila ma liste inverse:');
cree_invers(c1,c);
end. |
Partager