Сколько элементов стека, начиная с вершины, находится до элемента с максимальным значением. - Free Pascal
Формулировка задачи:
Создать стек из случайных целых чисел и определить, сколько элементов стека, начиная с вершины, находится до элемента с максимальным значением.
Решение задачи: «Сколько элементов стека, начиная с вершины, находится до элемента с максимальным значением.»
textual
Листинг программы
program pr; type prec = ^trec; trec = record num: integer; next: prec; end; var stack: prec; procedure push(const arg: integer); var p: prec; begin new(p); p^.num := arg; p^.next := stack; stack := p; end; procedure printstack; var p: prec; begin p := stack; while p <> nil do begin writeln(p^.num); p := p^.next; end; end; function poisk(stack: prec): integer; var max: integer; buf: prec; begin buf := stack; max := buf^.num; while buf <> nil do begin if buf^.num > max then max := buf^.num; buf := buf^.next; end; poisk := max; end; function co(stack: prec; const c: integer): integer; var p: prec; cout: integer; begin cout := 0; p := stack; while (p <> nil) and (p^.num <> c) do begin cout := cout + 1; p := p^.next; end; co := cout; end; var S: string; i, m, c, k: integer; begin for i := 1 to 10 do begin m := random(21); push(m); end; printstack; c := poisk(stack); writeln('Наибольший элемент: ', c); k := co(stack, c); writeln('Количество элементов, которые находятся до наибольшего: ', k); end.
Объяснение кода листинга программы
- Объявление типа данных
prec
для ссылки на элемент стека. - Объявление переменной
stack
типаprec
для хранения вершины стека. - Определение процедуры
push
для добавления элемента в стек. - Определение процедуры
printstack
для печати всех элементов стека. - Определение функции
poisk
для поиска элемента с максимальным значением в стеке. - Определение функции
co
для подсчета количества элементов в стеке до элемента с максимальным значением. - Объявление переменных
S
,i
,m
,c
,k
для хранения результатов работы программы. - Заполнение стека случайными числами от 1 до 20.
- Печать стека.
- Нахождение элемента с максимальным значением в стеке и его вывод.
- Подсчет количества элементов в стеке до элемента с максимальным значением и его вывод.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д