я описала такой тип:
Код:
type ukoz=^elem;
uk=^bt;
bt=record
inf:integer;
l,r:uk;
end;
elem=record info:uk;
next:ukoz;
end;
я создала первый элемент в списке. Он записался, а со второго начинается ошибка:
Код:
procedure add_sort(var beg:ukoz;x:integer);
var p,q:ukoz;
begin new(p);
p^.info^.l:=nil;p^.info^.r:=nil; -вот с этого места p^.next:=nil;
Сам фрагмент программы:
Код:
procedure sozd;
var x:integer;
begin beg:=nil;read(x);
while x<>0 do
begin add_sort(beg,x);
read(x);
end;
end;
procedure add_sort(var beg:ukoz;x:integer);
var p,q:ukoz;
begin new(p);
p^.info^.l:=nil;p^.info^.r:=nil;
p^.next:=nil;
p^.info^.inf:=x;
if beg=nil then beg:=p else
if beg^.info^.inf>x then
begin p^.next:=beg;
beg:=p;
end
else
begin q:=beg;
while (q^.next<>nil) and(x>q^.next^.info^.inf)do
q:=q^.next;
p^.next:=q^.next;
q^.next:=p;
end;
end;
lmikle: пользуемся тегами!!!
Подскажите в чем проблема? и как от нее избавиться