Лабораторная работа: Структуры и алгоритмы обработки данных
proverka(w); {вход в процедуру проверки корректности ввода данных}
oper:=strtoint(w); {перевод числа из строкового типа данных в целочисленный}
Whileoper=1 do {если ЛОС не пустой то выводим
сообщение}
Begin
Write(rus('Ваш ЛОС не пустой, для создания нового '));
Writeln(rus('удалите все элементы текущего.'));
Writeln(rus('Выберите вариант дальнейших действий.'));
proverka(w); {вход в процедуру проверки корректности ввода данных}
oper:= StrToInt(w); {перевод числа из строкового типа данных в целочисленный}
end;
end;
. . .
Procedure Delet11 (var sag: PE); {процедура удаления первого и последнего, элементов в ЛОС}
var
k, kk, q, qq: PE; //адресные переменные
Begin
WriteLn(rus('Ваш ЛОС выглядел так:'));
WriteLn('');
print(sag); //процедура вывода ЛОС
WriteLn('');
q:= sag^.next; //запоминаем адрес первого элемента
k:= sag^.next; //запоминаем адрес первого элемента
Ifq^.next=Nilthen {если адрес второго элемента содержит указывает на конец списка}
Begin
sag^.next:=q^.next; {в адресную часть первого элемента заносим указатель на конец списка}
dispose(k); //удаляем адрес первого элемента
WriteLn(rus('В ЛОС был только один элемент!')); //выводим сообщение
WriteLn(' ');