MustDie
Удален
|
Создать Л2 список с типом данных Слово, явно отображающий систему предписаний Л2 списка. Все элементы предписания должны отображаться в течение всего процесса выполнения программы. Предписания Л2 списка должны быть созданы в виде отдельных процедур и/или функций. При невозможности выполнения какого-либо предписания генерируется результат «отказ работы» с указанием ошибки. Накалякал вот такую беду: Program L2-spisok; Uses crt; type l2_element=record d: integer; p1:pointer; p2:pointer; end; var l2_first, l2_current, l2_temp:^l2_element; i, j: integer; procedure show_list; {показывает список} begin l2_temp:=l2_first; while l2_temp^.pl<>nil do begin writeln(l2_temp^.d:3); l2_temp:=l2temp^.pl; end; if l2_temp<>nil then writeln(l2_temp^.d:3); end; procedure add_element (d: integer);{вставляет элемент за указателем} var: pointer begin new (l2_temp); l2_temp^.d:=i; l2_temp^.p1:=l2_current^.pl; l2_temp^.p2:=l2_current; l2_current^.p1:=l2_temp; p:=l2_temp; l2_temp:=l2_temp^.p1; l2_temp^.p2=p; end; procedure delete_element; {удаляет текущий элемент} begin if l2_current^.p1<>nil then begin l2_temp:=l2_current^.p1; l2_temp^.p2:=l2_current^.p2; end; if l2_current^.p2<>nil then begin l2_temp:=l2_current^.p2; l2_temp^.p1:=l2_current^.p1; end; BEGIN new (l2_first); l2_first^.d:=0; l2_first^.p1:=nil; l2_fist^p2:=nil; l2_current:=l2_first; for i:=1 to 5 do add_element(i); show_list; l2_current:=l2_first^.pl; delete_element; END. Кто может предложить другие варианты?;)
|