В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
Медет111111
Медет111111
17.03.2021 20:11 •  Информатика

Реализуйте структуру данных "стек". напишите программу, содержащую описание стека и моделирующую работу стека, реализовав все указанные здесь методы. программа считывает последовательность команд и в зависимости от команды выполняет ту или иную операцию. после выполнения каждой команды программа должна вывести одну строчку. возможные команды для программы: push n добавить в стек число n (значение n задается после команды). программа должна вывести ok. pop удалить из стека последний элемент. программа должна вывести его значение. back программа должна вывести значение последнего элемента, не удаляя его из стека. size программа должна вывести количество элементов в стеке. clear программа должна очистить стек и вывести ok. exit программа должна вывести bye и завершить работу. гарантируется, что набор входных команд удовлетворяет следующим требованиям: максимальное количество элементов в стеке в любой момент не превосходит 100, все команды pop и back корректны, то есть при их исполнении в стеке содержится хотя бы один элемент.

Показать ответ
Ответ:
cabans354
cabans354
13.07.2020 15:55
{$R+,S+,Q+} uses  SysUtils; const R=1000;type Mas= array [0..R] of integer;var  a: Mas;  en,n: integer;  x,y,z,q,w: char;function push(n: integer): string;begin  a[en]:=n;  en:=en+1;  push:='ok';end;function pop(): integer;begin  en:=en-1;  pop:=a[en];  a[en]:=0;end;function back(): integer;begin  back:=a[en-1];end;function size(): integer;begin  size:=en;end;function clear(): string;begin  en:=0;  clear:='ok';end;function exit(): string;begin  exit:='bye';end;begin  en:=0;  repeat    read(x);    if x='p' then    begin      read(y);      if y='u' then      begin        read(z,q,w);        readln(n);        writeln(push(n))      end else begin        readln(z);        writeln(pop());      end;    end;    if x='b' then    begin      readln(y,z,q);      writeln(back());    end;    if x='s' then begin      readln(y,z,q);      writeln(size());    end;    if x='c' then begin      readln(y,z,q,w);      writeln(clear());    end;    if x='e' then begin      readln(y,z,q);      writeln(exit());    end;  until x='e';end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота