Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2016, 14:34   #1
usppolina
Новичок
Джуниор
 
Регистрация: 18.12.2016
Сообщений: 0
По умолчанию Задача про стек

Нужна помощь в решении данной задачи:
Структура данных стек позволяет хранить элементы в порядке, обратном порядку их добавления (т.е. последний добавленный элемент будет вытащен из стека раньше всех). Обычно для стека выделяют две главные операции: push и pop. Операция push добавляет элемент в стек, а pop — удаляет из стека последний добавленный элемент.

В данном задании вам предлагается реализовать структуру данных стек для хранения целых чисел, назовём эту структуру IntStack. Следующий код показывает пример работы с этой структурой.

Код:
IntStack s;
for (int i = 1; i != 10; ++i)
    s.push(i); // добавляем числа от одного до 10

while (s.size() > 0) {
    std::cout << s.top() << ' '; // печатаем верхних элемент стека
    s.pop(); // удаляем верхний элемент стека
} 
// на cout будет выведено "9 8 7 6 5 4 3 2 1 "
Можно реализовывать стек разными способами. В данном задании вам нужно реализовать стек на массиве: элеметы стека хранятся в динамическом массиве, если массива недостаточно, то выделяется новый массив в два раза большего размера.

Структура стека и его методы уже описаны в шаблоне, вам нужно только правильно реализовать их.

Требования к реализации: в данном задании запрещено использовать строки или контейнеры STL (даже, если вы с ними уже знакомы). Вам разрешено заводить вспомогательные методы, если они вам нужны, но запрещего добавлять поля. При реализации не нужно вводить или выводить что-либо. Реализовывать main не нужно. Не используйте функции из cstdlib (malloc, calloc, realloc и free).

Код:
using namespace std;

// стека для целых чисел
struct IntStack {
    // конструкторы
    IntStack() {} 
    IntStack(IntStack const& s) {}

    // деструктор
    ~IntStack() { }

    // оператор присваивания
    IntStack & operator=(IntStack const &s) { }

    // размер стека
    size_t size() const { }

    // операции

    // добавить элемент
    void push(int i) { }

    // удалить элемент
    void pop() { }

    // получить элемент на вершине стека
    int top() const { }   

// поля данных
// не менять!
private:
    int * data_;      // массив
    size_t size_;     // количество элементов в массиве
    size_t capacity_; // размер массива
};

Последний раз редактировалось Вадим Мошев; 18.12.2016 в 14:57.
usppolina вне форума Ответить с цитированием
Старый 18.12.2016, 14:41   #2
hidforce
Пользователь
 
Регистрация: 27.03.2015
Сообщений: 15
По умолчанию

illusion_of_exist@mail.ru
hidforce вне форума Ответить с цитированием
Старый 18.12.2016, 15:06   #3
Avazart
Форумчанин
 
Аватар для Avazart
 
Регистрация: 13.08.2011
Сообщений: 184
По умолчанию

Связаться со мной Вы можете по следующим контактам:
  • Icq: 673574224
  • E-mail: avazart@yandex.ua
  • Skype: присылайте свой ник на мой e-mail я вас добавлю.
Огромная просьба сразу указывать:
  1. Ccылку на данную тему, что бы сразу было понятно о чем речь, без лишних слов.
  2. Предполагаемый предварительный бюджет или его рамки.
  3. Максимальные сроки в которые нужно выполнить ваш заказ.(конкретная дата или кол-во дней)
  4. Максимально полное и подробное техническое задание, если Вы его не указали или указали частично в вашей теме
    (желательно в виде MS Word документа с необходимыми иллюстрациями, схемами, скриншотами итп)

Работаю только с предоплатой 30% !
Предложения без указания "со старта" цены/сроков могут быть проигнорированы.
Для прикладных программ использую Delphi/С++Builder/C++Qt для учебных еще и MSVC С/C++/C#, Python(PyQt)
Avazart вне форума Ответить с цитированием
Старый 18.12.2016, 15:22   #4
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,871
По умолчанию

Решу вашу задачу, пишите на почту, указана ниже в подписи:
Arigato вне форума Ответить с цитированием
Старый 19.12.2016, 10:20   #5
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

Здравствуйте. Если актуально, ICQ 368161244 e-mail: informatik101@mail.ru vk.com/alexcoder1
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума Ответить с цитированием
Старый 19.12.2016, 14:05   #6
JIeIIIa
Пользователь
 
Регистрация: 21.12.2011
Сообщений: 54
По умолчанию

Если еще актуально, пишите: stealth(собака)bigmir.net
JIeIIIa вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ассемблер, вопрос про стек azaznio Помощь студентам 2 24.02.2015 12:56
задача в с# на стек таня123 Помощь студентам 0 16.03.2013 10:07
задача в си++///стек Irusya Помощь студентам 2 10.07.2012 19:47
Стек Задача на С++ Electroflower C++ Builder 2 26.12.2011 10:28
про СТЕК anco Паскаль, Turbo Pascal, PascalABC.NET 5 06.07.2008 22:29