Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
delphi_p5 ОЧЕРЕДЬ!!!!.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
422.91 Кб
Скачать

Val : integer;

next : link

end;

var Form1: TForm1; L : link; f1, f2 : textfile;

implementation

{$R *.dfm}

procedure add(var r : link);

begin

if r = nil then

begin new(r); r.next:=nil; read(f1, r.val) end

else add(r.next)

end;

procedure out(r : link);

begin

if r<> nil then

begin write(f2, r.val : 6); out(r.next) end

end;

function memb(r : link; b : integer) : boolean;

begin

if r=nil then memb:=false

else

if r.val=b then memb:=true

else memb:=memb(r.next, b)

end;

procedure dele(var r : link; w : integer);

var z : link;

begin

if r<>nil then

if r.val=w then

begin z:=r; r:=r.next; dispose(z) end

else dele(r.next, w)

end;

procedure TForm1.Button1Click(Sender: TObject);

var d : integer;

begin

assignfile(f1, ' file8.txt '); assignfile(f2, ' file9.txt ');

reset(f1);

L:=nil;

while not eof(f1) do add(L);

closefile(f1);

d:=strtoint(edit1.Text);

if memb(L, d) then

begin

dele(L, d);

rewrite(f2); out(L); closefile(f2);

memo1.Lines.LoadFromFile(' file9.txt ');

end

else showmessage(' Такого элемента нет ')

end;

Задачи

Задача 26. Создать очередь с помощью рекурсивной процедуры

procedure add(var r : link).

Описать рекурсивную функцию

function neg(r : link) : boolean;

проверяющую, имеется ли в списке элемент с отрицательным информационным полем. Ответ вывести в поле метки.

Задача 27*. Создать очередь с помощью рекурсивной процедуры

procedure add(var r : link).

Описать рекурсивную функцию

function nmemb(r:link; b:integer):integer;

подсчитывающую количество вхождений элемента с информационным полем b в список r.

С помощью этой функции подсчитать, сколько раз встречается в списке число, введённое в поле Edit1. Результат вывести в поле метки.

Задача 28*. Создать очередь с помощью рекурсивной процедуры

procedure add(var r : link).

Описать рекурсивную функцию

function max(r:link) : integer;

для нахождения максимума в списке r. Результат вывести в поле метки.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]