Есть ответ 👍

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

102
209
Посмотреть ответы 2

Ответы на вопрос:


{$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(;       end;     end;     if x='b' then    begin       readln(y,z,q);       writeln(;     end;     if x='s' then begin       readln(y,z,q);       writeln(;     end;     if x='c' then begin       readln(y,z,q,w);       writeln(;     end;     if x='e' then begin       readln(y,z,q);       writeln(;     end;   until x='e'; end.

Файловий провідник, живлення, усі

Популярно: Информатика