1. Написать программу для работы со структурой данных "Стек".
2. Структура данных должна быть реализована на основе статической памяти.
3. Работа со структурой должна осуществляться с помощью case-меню. Предусмотреть наглядную визуализацию содержимого структуры.
Другие языки программирования и технологии
Pascal, структура данных "Cтек"
Паскаль - это язык страдания. Всё должно делаться тупо, костыльно, многословно. Если вам легко писать на Паскале, свяжитесь с Никлаусом Виртом, и он примет меры.
Пример кода:
Пример работы:
Пример кода:
program BDSMStack;
const
CAP = 1000;
type
Stack = record
data: array[1..CAP] of string;
top: integer
end;
var
st: Stack;
cmd: string;
elem: string;
blankPos: integer;
procedure PrintStack(var s: Stack);
var
i: integer;
begin
write('Стек: ');
for i := s.top downto 1 do write(' ', s.data[i]);
writeln
end;
begin
st.top := 0;
repeat
write('Введите команду (push sss / pop / print / exit): ');
readln(cmd);
blankPos := pos(' ', cmd);
if blankPos > 0 then begin
elem := copy(cmd, blankPos + 1, length(cmd) - blankPos);
delete(cmd, blankPos, length(cmd))
end
else begin
elem := ''
end;
case cmd of
'push':
if st.top < CAP then begin
st.top := st.top + 1;
st.data[st.top] := elem
end
else
writeln('Невозможно добавить элемент: не хватает места');
'pop':
if st.top > 0 then begin
writeln('Извлечён элемент ', st.data[st.top]);
st.top := st.top - 1;
end
else
writeln('Невозможно извлечь элемент: стек пуст');
'print', 'exit':
else writeln('Неизвестная команда: ', cmd)
end;
PrintStack(st)
until cmd = 'exit'
end.
Пример работы:
Введите команду (push sss / pop / print / exit): push aaa
Стек: aaa
Введите команду (push sss / pop / print / exit): push корова
Стек: корова aaa
Введите команду (push sss / pop / print / exit): push стадо коров
Стек: стадо коров корова aaa
Введите команду (push sss / pop / print / exit): pop
Извлечён элемент стадо коров
Стек: корова aaa
Введите команду (push sss / pop / print / exit): pop
Извлечён элемент корова
Стек: aaa
Введите команду (push sss / pop / print / exit): pop
Извлечён элемент ааа
Стек:
Введите команду (push sss / pop / print / exit): pop
Невозможно извлечь элемент: стек пуст
Стек:
Введите команду (push sss / pop / print / exit): exit
Стек:
Владислав Владимирович
Спасибо
Похожие вопросы
- Pascal, структура данных двусвязанный список
- Работа с "древним" языком Pascal)
- Работа с "древним" языком Pascal )
- Запись в файл структуры данных. С++
- Что такое алгоритмы и структуры данных в информатике поясните простым языком чтобы было понятно для чего это вообще?
- Структура данных "очередь". максимально доступно. и очень подробно объяснить функции с очередью!!!на с++ с указателями
- Как правильно читать и стоит ли книгу Кормена "Алгоритмы и структуры данных". Что вы из неё советуете почерпнуть ?
- Можно ли изучать Алгоритмы и структуры данных без знаний языков программирования? Язык думал после этого осваивать.
- Каждый ли программист должен изучить алгоритмы и структуры данных?
- Объясните, пожалуйста, что за "много действий"? Нажать на кнопку "Подписаться" - это много действий?