Добавить в вершину стека число, которое вводиться с клавиатуры. - Free Pascal
Формулировка задачи:
Создать стек со случайными целыми числами в диапазоне [- 120;10]. Добавить в вершину стека число, которое вводиться с клавиатуры.
Решение задачи: «Добавить в вершину стека число, которое вводиться с клавиатуры.»
textual
Листинг программы
- program pr;
- type
- item = integer;
- prec = ^trec;
- trec = record
- num : item;
- next : prec;
- end;
- procedure print(stack : prec);
- begin
- while stack <> nil do
- begin
- writeln(stack^.num);
- stack := stack^.next;
- end;
- end;
- procedure push(var stack : prec; v : item);
- var t : prec;
- begin
- new(t);
- t^.num := v;
- t^.Next := Stack;
- Stack := t;
- end;
- var
- i : integer;
- c : item;
- stack : prec = nil;
- begin
- randomize;
- for i := 1 to 10 do
- push(stack, random(131)-120);
- print(stack);
- writeln;
- writeln('Введите добавляемый элемент');
- readln(c);
- writeln;
- writeln('Стек с добавленным в вершину элементом');
- push(stack,c);
- print(stack);
- // тут не забываем очистить стек, иначе будет утечка
- end.
Объяснение кода листинга программы
- Объявление типа данных
item
иprec
для работы со стеком. - Создание процедуры
print
для вывода элементов стека. - Создание процедуры
push
для добавления элемента в стек. - Объявление переменных
i
,c
иstack
для работы со стеком. - Инициализация стека как
nil
. - Заполнение стека случайными числами от 1 до 10 с помощью цикла и процедуры
push
. - Вывод содержимого стека с помощью процедуры
print
. - Запрос на ввод добавляемого элемента с клавиатуры.
- Добавление введенного элемента в вершину стека с помощью процедуры
push
. - Вывод стека после добавления элемента с помощью процедуры
print
. - Очистка стека после использования (необязательно, но важно для предотвращения утечки памяти).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д