Witam
mam problem z funkcją, która miałaby scalić (jednocześnie sortując) dwie listy. Wywala mi exitcode=216, z tego co wyczytałem to oznacza, że źle używam wskaźników, jednak nie wiem jak to poprawić, prosiłbym o pomoc.
function Scal_po_px(l1, l2:lista):lista;
var
atrapa, pom : lista;
begin
new(atrapa);
if l1^.px<=l2^.px then begin
atrapa^.nast:=l1;
l1:=l1^.nast;
end
else begin
atrapa^.nast:=l2;
l2:=l2^.nast;
end;
pom:=atrapa^.nast;
while (l1^.nast<>nil) and (l2^.nast<>nil) do begin
if l1^.px<=l2^.px then begin
pom^.nast:=l1;
l1:=l1^.nast;
end
else begin
pom^.nast:=l2;
l2:=l2^.nast;
end;
pom:=pom^.nast;
end;
if (l1^.nast=nil) and (l2^.nast=nil) then begin
if l1^.px<=l2^.px then begin
pom^.nast:=l1;
l1:=nil;
pom^.nast:=l2;
l2:=nil
end
else begin
pom^.nast:=l2;
l2:=nil;
pom^.nast:=l1;
l1:=nil
end;
pom^.nast:=nil;
end;
if l1^.nast=nil then pom^.nast:=l2
else pom^.nast:=l1;
atrapa:=atrapa^.nast;
Scal_po_px:=atrapa;
end;