Bargest спасибо.
помогите найти ошибку в функции. после её выполнения список не выводится.
Код:
Procedure Double_pol(top:p_list); // дублирует пониндромы
Function pal(x:integer):boolean;
var l,d,i:integer;
s:string;
begin
pal:=true;
str(x,s);
d := length(s);
If d=1 then begin result:=false; exit end;
l := d div 2;
for i := 1 to l do
if s[i] <> s[d+1-i] then pal := false;
end;
var p1,q:p_list;
begin
p1:=top;
while p1^.next<>top do begin
if pal(p1^.num) then begin
new(q);
q^.num:=p1^.num;
q^.next:=p1^.next;
p1^.next:=q;
p1:=p1^.next;
end;
p1:=p1^.next;
end;
end;