Форум программистов, компьютерный форум CyberForum.ru

Помогите реализовать стек - C++

Восстановить пароль Регистрация
 
BadEvil
0 / 0 / 0
Регистрация: 14.04.2014
Сообщений: 7
14.04.2014, 11:55     Помогите реализовать стек #1
Здравствуйте. Помогите, пожалуйста, решить задачу:
Реализуйте структуру данных "стек", реализовав все указанные здесь методы при помощи массива. Напишите программу (функцию main), содержащую описание стека и моделирующую работу стека. Функция main считывает последовательность команд и в зависимости от команды выполняет ту или иную операцию. После выполнения одной команды программа должна вывести одну строчку. Возможные команды для программы:

push n
Добавить в стек число n (значение n задается после команды). Программа должна вывести ok.
pop
Удалить из стека последний элемент. Программа должна вывести его значение.
back
Программа должна вывести значение последнего элемента, не удаляя его из стека.
size
Программа должна вывести количество элементов в стеке.
clear
Программа должна очистить стек и вывести ok.
exit
Программа должна вывести bye и завершить работу.

Операции back и pop должны перед исполнением проверять, содержится ли в стеке хотя бы один элемент. Если во входных данных встречается операция back или pop, при этом стек пуст, то программа должна вместо числового значения вывести строку error.

При этом должна быть реализована двойная защита: вызов методов forward и pop для пустого стека не должен приводить к обращению к несуществующим элементам массива, а функция main должна выводить сообщение error, при считывании некорректной операции.

Реализуйте стек динамического размера, то есть ограниченный только объемом свободной оперативной памяти. Для этого используйте указатели и динамически распределяемую память. Если для полностью заполненного стека вызывается метод push размер динамического массива, отведенного для хранения стека, должен увеличиваться.

Пример 1 протокола работы программы
Ввод Вывод

push 2 - ok
push 3 - ok
push 5 - ok
back - 5
size - 3
pop - 5
size - 2
push 7 - ok
pop - 7
clear - ok
size - 0
exit -bye
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ilot
Модератор
Эксперт С++
1765 / 1140 / 221
Регистрация: 16.05.2013
Сообщений: 3,017
Записей в блоге: 5
Завершенные тесты: 1
14.04.2014, 12:36     Помогите реализовать стек #2
Откройте заголовочник stack и удалите из него все, что не понимаете.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11818 / 6797 / 769
Регистрация: 27.09.2012
Сообщений: 16,870
Записей в блоге: 2
Завершенные тесты: 1
14.04.2014, 12:42     Помогите реализовать стек #3
Цитата Сообщение от Ilot Посмотреть сообщение
Откройте заголовочник stack и удалите из него все, что не понимаете.
то есть судя по заданию надо будет оставить пустой файл
Структура стек (: добавить элемент в стек, удалить элемент из стека, получить значение с вершины стека, размер стека...)
BadEvil
0 / 0 / 0
Регистрация: 14.04.2014
Сообщений: 7
14.04.2014, 22:24  [ТС]     Помогите реализовать стек #4
Ваш стек реализован через класс, а в этом задании указано, используя массив(
Спасибо за помощь.
Yandex
Объявления
14.04.2014, 22:24     Помогите реализовать стек
Ответ Создать тему
Опции темы

Текущее время: 12:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru