Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
BadEvil
0 / 0 / 0
Регистрация: 14.04.2014
Сообщений: 7
#1

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

14.04.2014, 11:55. Просмотров 1346. Ответов 3
Метки нет (Все метки)

Здравствуйте. Помогите, пожалуйста, решить задачу:
Реализуйте структуру данных "стек", реализовав все указанные здесь методы при помощи массива. Напишите программу (функцию 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
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2014, 11:55
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Помогите реализовать стек (C++):

Помогите реализовать стек на основе массива - C++
помогите с задачачей по с++ 3. Реализуйте стек на основе массива.

Реализовать стек - C++
Реализация стека на базе массива Добавлено через 4 минуты На языке си написать программу которая реализовывала стек на базе массива

Реализовать кольцевой стек. - C++
не могу сделать кольцевой стек, помогите или подскажите что можно сделать. #include <iostream> using namespace std; int main() ...

Реализовать стек с помощью массива - C++
Попытался реализовать стек с помощью массива. Но почему то ничего не происходит, так же попробовал пользоваться template<typename T>,...

Реализовать стек с использованием односвязного списка - C++
Народ, у меня в лабораторной работе задание: реализовать стек с помощью односвязного списка. Я не очень понял, что это за стеки и списки и...

Реализовать стек. Определение правильного скобочного выражения - C++
1. Разработать и создать набор функций для пользовательского типа данных типа стек 2. С помощью стека решить предложенные задачи: ...

3
Ilot
Эксперт С++
1826 / 1184 / 232
Регистрация: 16.05.2013
Сообщений: 3,119
Записей в блоге: 5
Завершенные тесты: 1
14.04.2014, 12:36 #2
Откройте заголовочник stack и удалите из него все, что не понимаете.
0
Croessmah
Ушел
13777 / 8027 / 927
Регистрация: 27.09.2012
Сообщений: 19,783
Записей в блоге: 3
Завершенные тесты: 1
14.04.2014, 12:42 #3
Цитата Сообщение от Ilot Посмотреть сообщение
Откройте заголовочник stack и удалите из него все, что не понимаете.
то есть судя по заданию надо будет оставить пустой файл
Структура стек (: добавить элемент в стек, удалить элемент из стека, получить значение с вершины стека, размер стека...)
1
BadEvil
0 / 0 / 0
Регистрация: 14.04.2014
Сообщений: 7
14.04.2014, 22:24  [ТС] #4
Ваш стек реализован через класс, а в этом задании указано, используя массив(
Спасибо за помощь.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.04.2014, 22:24
Привет! Вот еще темы с ответами:

Реализовать класс стек, хранящий в себе строки - C++
Необходимо реализовать класс стек, хранящий в себе строки. Чужие реализации не интересуют. Шаблоны использовать нельзя. Вот, что написал....

Реализовать стек и 3 оператора для работы с ним - C++
Доброго времени суток! Помогите, есть такая задача: Реализовать стек и 3 оператора для работы с ним (Push (x, S), Locate (х, S),...

Стек на основе массива, реализовать функцию resize - C++
1) Добавить деструктор, конструктор копии и перегрузку операции присваивания. 2) Используя функцию resize, изменить функцию добавления...

Реализовать стек для хранения и операций с данными - C++
Ребята, помогите, пожалуйста. Заранее огромное спасибо! Реализовать стек для хранения и операций с данными вида: Имя процедуры...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru