Добавить в вершину стека число, которое вводиться с клавиатуры. - 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.

Объяснение кода листинга программы

  1. Объявление типа данных item и prec для работы со стеком.
  2. Создание процедуры print для вывода элементов стека.
  3. Создание процедуры push для добавления элемента в стек.
  4. Объявление переменных i, c и stack для работы со стеком.
  5. Инициализация стека как nil.
  6. Заполнение стека случайными числами от 1 до 10 с помощью цикла и процедуры push.
  7. Вывод содержимого стека с помощью процедуры print.
  8. Запрос на ввод добавляемого элемента с клавиатуры.
  9. Добавление введенного элемента в вершину стека с помощью процедуры push.
  10. Вывод стека после добавления элемента с помощью процедуры print.
  11. Очистка стека после использования (необязательно, но важно для предотвращения утечки памяти).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.545 из 5
Похожие ответы