close

Вход

Забыли?

вход по аккаунту

?

ЛабА

код для вставкиСкачать
Чувашский государственный университет имени И. Н. Ульянова.
Кафедра вычислительной техники.
Лабораторная работа №11
Обработка списков
Выполнил студент группы 43-02 Максин П.А.
(вариант 13)
Работу принял преподаватель
Симаков А. Л.
Чебоксары 2002 г.
Задание к работе: Составить программу обработки линейного списка. Вид обработки - удалить заданный элемент; элемент задан значением поля; удаляются все такие элементы (13 вариант). В программе предусмотреть процедуру формирования списка, процедуру его вывода и процедуру обработки. Тело программы представляет собой последовательность четырёх обращений к процедурам: ввод списка, его контрольный вывод, обработку, вывод результата.
Текст программы:
program Indiv11;
type PItem = ^TItem;
TItem = record
next: PItem;
Pstr: ^string;
end;
var list: PItem;
VList: integer;
procedure CreateList (var F: PItem);
var P: PItem;
begin
F:=nil; Vlist:=0;
while not eof do begin
new(P); new(P^.Pstr); readln(P^.Pstr^);
P^.Next:=F; F:=P; VList:=Vlist+1;
end;
end;
procedure OutList (F: PItem);
begin
if F=nil then writeln else begin
OutList(F^.Next);
if F^.Pstr<>nil then writeln(F^.Pstr^);
end;
end;
procedure Obrabotka(var F: PItem);
var i, j: integer;
p, s: PItem;
Str: string;
begin
p:=F; s:=F; j:=1;
writeln('Введите номер строки, содержимое которой надо
использовать для удаления: '); Readln(I);
i:=VList-i+1;
while j<>i do begin
F:=F^.Next; j:=j+1;
if j=i then Str:=F^.Pstr^;
end;
F:=s;
while P<>nil do begin
if P^.Pstr^ = Str then F^.Pstr:=nil;
P:=P^.Next; F:=F^.Next;
end;
F:=s;
end;
begin
writeln('Введите список (после ввода нажмите Ctrl+Z и Enter): ');
CreateList(list);
write('Контрольный вывод списка: ');
OutList(list);
Obrabotka(list);
write('Итоговый результат: ');
OutList(list);
readln;
end.
Контрольные пример для проверки работы программы:
Входной текст: 333
fwafwqgf
fwa
333
333
333ef
sa333dws
333sd
^Z
Контрольный вывод:
333
fwafwqgf
fwa
333
333
333ef
sa333dws
333sd
Итоговый результат:
fwafwqgf
fwa
333
333
333ef
sa333dws
333sd
Номер строки, содержимое которой используется для удаления из списка: 1 Кол-во таких строк: 2
Документ
Категория
Рефераты
Просмотров
14
Размер файла
42 Кб
Теги
лаба
1/--страниц
Пожаловаться на содержимое документа