Предмет: Информатика,
автор: qwerty271010
Реализуйте структуру данных "стек". Напишите программу, содержащую описание стека и моделирующую работу стека, реализовав все указанные здесь методы. Программа считывает последовательность команд и в зависимости от команды выполняет ту или иную операцию. После выполнения каждой команды программа должна вывести одну строчку. Возможные команды для программы:
push n
Добавить в стек число n (значение n задается после команды). Программа должна вывести ok.
pop
Удалить из стека последний элемент. Программа должна вывести его значение.
back
Программа должна вывести значение последнего элемента, не удаляя его из стека.
size
Программа должна вывести количество элементов в стеке.
clear
Программа должна очистить стек и вывести ok.
exit
Программа должна вывести bye и завершить работу.
Гарантируется, что набор входных команд удовлетворяет следующим требованиям: максимальное количество элементов в стеке в любой момент не превосходит 100, все команды pop и back корректны, то есть при их исполнении в стеке содержится хотя бы один элемент.
Ответы
Автор ответа:
0
{$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
спс
Похожие вопросы
Предмет: Математика,
автор: lazarevaarina05
Предмет: Русский язык,
автор: Аноним
Предмет: Алгебра,
автор: Аноним
Предмет: Математика,
автор: кирян