Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/30: Рейтинг темы: голосов - 30, средняя оценка - 4.93
0 / 0 / 1
Регистрация: 29.04.2015
Сообщений: 12

Реализация стека

21.05.2015, 22:05. Показов 6316. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Реализация стека (добавить 1 элемент, вытащить 1 элемент в стеке, определить, когда стек будет пустой).
Помогите пожалуйста написать код. Есть вот такой, но мне кажется это не совсем то, что нужно...(
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include "stdafx.h"
#include<iostream>
#include<stack>
#include<queue>
#include<deque>
using namespace std;
 
 
int main()
{
    stack<int> S;      
    S.push(5);
    S.pop();
    if (S.empty())
        cout << "Stack is empty" << endl;
    else
        cout << "Stack is not empty" << endl;
    S.push(8);
    if (S.empty())
        cout << "Stack is empty" << endl;
    else
        cout << "Stack is not empty" << endl;
    system("pause");
    return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.05.2015, 22:05
Ответы с готовыми решениями:

Реализация стека
Всем доброго времени суток! Нашел в на просторах интернета исходник реализации стека. Но не совсем понятен код. Что бы понять - я...

Реализация стека
Подскажите, как создать класс, который реализует стек? А также методы включения и выключения элементов?

Реализация стека
Написать программу, реализующую стек с информацией о сотрудниках и отображающую стек в порядке возрастания возраста сотрудника

2
 Аватар для smartpointer
70 / 64 / 40
Регистрация: 17.02.2014
Сообщений: 265
22.05.2015, 00:41
Видимо задание реализация своего стека.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include <iostream>
 
template<typename T>
class Stack
{
private:
    struct Node
    {
        T value;
        Node* prev;
        Node(const T& t):value(t),prev(0){}
    };
    Node* current;
    unsigned int sz;
    void Remove()
    {
        Node* temp = current->prev;
        delete current;
        current = temp;
        sz--;
    }
public:
    Stack():current(0),sz(0){}
    ~Stack()
    {
        while(current)
            Remove();
    }
    void push(const T& t)
    {
        Node* temp = current;
        current = new Node(t);
        current->prev = temp;
        sz++;
    }
    void pop()
    {
        if(sz)
            Remove();
    }
    T& top()
    {
        return current->value;
    }
    const T& top()const
    {
        return top();
    }
    bool empty()
    {
        return !sz;
    }
    const unsigned int& size()const
    {
        return sz;
    }
};
 
 
int main()
{
    setlocale(LC_ALL,"Russian");
    Stack<int> s;
    for(int i = 0; i < 10;i++)
        s.push(i);
    std::cout<<"Размер контейнера:"<<s.size()<<"\n";
    while(!s.empty())
    {
        std::cout<<"Извлечен элемент со значением:"<< s.top() <<"\n";
        s.pop();
    }
    std::cout<<"Размер контейнера после удаления:"<<s.size();
    return 0;
}
0
0 / 0 / 1
Регистрация: 29.04.2015
Сообщений: 12
23.05.2015, 00:36  [ТС]
Вот что-то такое должно быть. но выдает ошибку, помогите исправить код, пожалуйста.

cpp(63) : error C2039: OutPut: не является членом "std::stack<_Ty>"
1> with
1> [
1> _Ty=int
1> ]
cpp(70) : error C2065: ELEMENT: необъявленный идентификатор
cpp(70) : error C2228: выражение слева от ".Content" должно представлять класс, структуру или объединение
1> тип: 'unknown-type'
cpp(72) : error C2039: full: не является членом "std::stack<_Ty>"
1> with
1> [
1> _Ty=int
1> ]
cpp(75) : error C2065: N: необъявленный идентификатор
cpp(75) : error C2065: ELEMENT: необъявленный идентификатор
cpp(75) : error C2228: выражение слева от ".Content" должно представлять класс, структуру или объединение
1> тип: 'unknown-type'

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#include <iostream> //для операторов cout, cin - ввод, вывод
#include <clocale> //для функции настройки локали
#include <iomanip> //форматирование вывода
#include <conio.h> //для работы с консолью
#include <stack>
 
using namespace std; //используем именное пространство std
void stackRealization()//функция реализации стека
{
    stack <int> st;//создание стека st целого типа
    char command;//переменная для номера команды
    int x;//переменная для значения, которое ввел пользователь
 
    do//цикл работает до тех пор, пока пользователь не введет команду 0
    {
        cout << "1. Добавление элемента в стек\n";//вывод сообщений со списком команд
        cout << "2. Удаление элемента\n";
        cout << "3. Вывести верхний элемент\n";
        cout << "4. Вывести размер стека\n";
        cout << "5. Вывести элементы стека\n";
        cout << "6. Проверка пустоты стека\n";
        cout << "7. Проверка заполненности стека\n";
        cout << "0. Выход\n";
 
        cout << "Введите номер команды: ";
        cin >> command;//ввод номера команды
 
        switch (command)//функция выборки
        {
            case '1'://если пользователь ввел команду '1', тогда
                cout << "Введите значение элемента: ";
                cin >> x;//ввод значения
                st.push(x);//добавление элемента
                cout << "\n\nЭлемент (" << x << ") добавлен в стек";
                break;//прерывает работу switch
            case '2':
                if (st.empty() == true) 
                    cout << "\n\n Стек пуст";
                else//если стек не пустой
                {
                    st.pop();//удаление элемента
                    cout << "\n\nЭлемент удален из стека";
                }
                break;
            case '3':
                if (st.empty() == true) 
                    cout << "\n\nСтек пуст";
                else
                    cout << "\n\nВерхний элемент стека: " << st.top();//вывод верхнего элемента стека
                break;
            case '4':
                if (st.empty() == true) 
                    cout << "\n\nСтек пуст";
                else
                    cout << "\n\nРазмер стека: " << st.size();//вывод размера стека
                break;
            case '5':
                if (st.empty()==true)
                    cout << "\n\nСтек пуст";
                else
                {
                    cout << "\n\nЭлементы стека";
                    st.OutPut();
                }
                break;
            case '6':
                if (st.empty()==true)
                    cout << "\n\nСтек пуст";
                else
                    cout << "\n\nВ стеке "<< ELEMENT.Content <<" элемента"; 
            case '7':
                if (st.full()==true)
                    cout << "\n\nСтек полный";
            else
                cout << "/n/nЕсть возможность добавить " << N-ELEMENT.Content << " элементов" << endl; 
            break;
            case '0':
            break;
 
            default://при не совпадении команд
                cout << "Ошибка! Команда неопределена.\n";
            break;
        }
    } while (command!='0');
}
 
int main()//главная функция
{
    setlocale (LC_ALL, "Russian"); //корректное отображение Кириллицы, включаем русский язык
    stackRealization();//вызов функции stack_realization
 
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.05.2015, 00:36
Помогаю со студенческими работами здесь

Реализация стека
вот такие ошибки при реализации: stack.h(26) : error C2953: 'Stack' : class template has already been defined liststack.h(10) : error...

Реализация стека
Помогите создать структуру данных типа &quot;стек&quot;, элементы которого занимают 10 кб. Операции, вы-полняемые над стеком: проверить,...

реализация стека
всем привет! народ помогите с программой (не пойму в чем ошибка, помогите исправить) #include &quot;stdafx.h&quot; #include...

Реализация стека
Здравствуйте, помогите пожалуйста с реализацией стека без использования STL. Стек отображен в памяти Вектором, память статическая(1...

Реализация стека с шаблонами
Вообщем, реализую стек известная проблема, не могу понять почему не компилирует, хотя 20 раз все проверил #include &lt;iostream&gt; ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru