Co jest źle, że wyświetla tylko ostatnią liczbę?
A może kompletnie źle to przepisane jest?
Edit, doszedłem do wniosku, że procedura przepisujaca nie działa jak powinna… tzn przepisuje tylko pierwszy element a nie wszystko. Jakaś rada?
// lista dwukierunkowa
type
plista_d = ^tlista_d;
tlista_d = record
klucz: integer;
parz: boolean;
prev, next: plista_d;
end;
// lista jednokierunkowa
type
plista = ^tlista;
tlista = record
klucz: integer;
nast: plista;
end;
procedure przepisz_do_listy_jednokierunkowej( head:plista_d; var pocz: plista);
begin
if head=nil then writeln('nie ma co kopiowac')
else
begin
new(pocz);
while head<>nil do
begin
pocz^.klucz:=head^.klucz;
head:=head^.next;
end;
end;
end;
// wyświetlenie listy jednokierunkowej po przepisaniu
procedure wyswietl1(pocz:plista);
begin
if pocz=nil then writeln('lista pusta')
else
begin
while pocz<>nil do
begin
writeln(pocz^.klucz);
pocz:=pocz^.nast;
end;
end;
end;