Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
 Аватар для KVANTA
3 / 3 / 1
Регистрация: 12.12.2011
Сообщений: 68

Стеки

14.12.2011, 17:39. Показов 2889. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
Создать класс типа - стек. Функции-члены вставляют элемент в стек, вытаскивают элемент из стека. Проверяют вершину стека.
Помогите пожалуйста с этой задачей, а то я не могу разобраться, заранее спасибо
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.12.2011, 17:39
Ответы с готовыми решениями:

стеки
Здравствуйте. Я создал шаблон класса стек. Как мне перегрузить операторы -- и += для извлечение и добавление элемента в стек. И нужно...

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

Стеки
Помогите разобраться со стеками.Вылетает 3 ошибки при компеляции. #include <stdio.h> #include <stdlib.h> #include...

21
63 / 58 / 14
Регистрация: 14.12.2011
Сообщений: 193
14.12.2011, 18:09
Код не вылизан но для общего понимания придатен - попробуйте так:

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
#include <iostream.h>
class IntVal{
    int Number;
public:
    IntVal *curr;
    IntVal *prev;
 
    IntVal(){
        curr = NULL;
    }
    Push(int N){
        prev = curr;
        curr = new IntVal();
        curr->Number = N;
        curr->prev = prev;
    }
    int Pop(){
        cout << curr->Number;
        delete curr;
        curr = curr->prev;
        if (curr == NULL)
            return 0;
    }
};
0
 Аватар для KVANTA
3 / 3 / 1
Регистрация: 12.12.2011
Сообщений: 68
14.12.2011, 18:32  [ТС]
[Linker Error] Unresolved external '_main' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\LIB\C0X32.OBJ

Вот такую ошибку выдает
0
63 / 58 / 14
Регистрация: 14.12.2011
Сообщений: 193
14.12.2011, 18:36
Я так понимаю Вы просто скопировали код..Как видите там нет точки входа в програму ( функции main)

Решение: Добавьте в конце вот такую фичу )

C++
1
2
3
4
5
6
7
8
9
10
11
int main(int argc, char* argv[])
{
    int i = 5;
    IntVal *Stack = new IntVal();
    while(i){
        Stack->Push(i--);
    }
    while(Stack->Pop());
    delete Stack;
    return 0;
}
0
 Аватар для KVANTA
3 / 3 / 1
Регистрация: 12.12.2011
Сообщений: 68
14.12.2011, 18:46  [ТС]
спасибо но почему то ругается на
C++
1
 cout<< curr->Number;
Добавлено через 6 минут
[C++ Warning] Unit1.cpp(17): W8070 Function should return a value
0
63 / 58 / 14
Регистрация: 14.12.2011
Сообщений: 193
14.12.2011, 19:26
Попробуй с Паузой..

C++
1
2
3
4
5
6
7
8
9
10
11
12
int main(int argc, char* argv[])
{
    int i = 5;
    IntVal *Stack = new IntVal();
    while(i){
        Stack->Push(i--);
    }
    while(Stack->Pop());
    delete Stack;
    system("pause");
    return 0;
}
0
 Аватар для KVANTA
3 / 3 / 1
Регистрация: 12.12.2011
Сообщений: 68
14.12.2011, 19:41  [ТС]
а у вас она запускается? у меня та же ошибка
0
63 / 58 / 14
Регистрация: 14.12.2011
Сообщений: 193
14.12.2011, 21:47
[C++ Warning] Unit1.cpp(17): W8070 Function should return a value

Как бы не ошибка а предупреждение..запускается все хорошо. У вас програма компилируется?

Добавлено через 4 минуты
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
//---------------------------------------------------------------------------
#include <iostream.h>
using namespace std;
class IntVal{
    int Number;
public:
    IntVal *curr;
    IntVal *prev;
 
    IntVal(){
        curr = NULL;
    }
    int Push(int N){
        prev = curr;
        curr = new IntVal();
        curr->Number = N;
        curr->prev = prev;
        return 0;
    }
    int Pop(){
        cout << curr->Number << endl;
        delete curr;
        curr = curr->prev;
        if (curr == NULL)
            return 0;
    }
};
int main(int argc, char* argv[])
{
    int i = 5;
    IntVal *Stack = new IntVal();
    while(i){
        Stack->Push(i--);
    }
    while(Stack->Pop());
    delete Stack;
    system("pause");
    return 0;
}
//---------------------------------------------------------------------------
Все запустилось.
0
48 / 48 / 24
Регистрация: 29.10.2011
Сообщений: 154
14.12.2011, 21:51
stl stuck?
0
63 / 58 / 14
Регистрация: 14.12.2011
Сообщений: 193
14.12.2011, 21:58
Насколько я понял надо простенький клас..ничего особенного
0
 Аватар для KVANTA
3 / 3 / 1
Регистрация: 12.12.2011
Сообщений: 68
14.12.2011, 22:18  [ТС]
она компилируется, запускается консоль и выдает ошибку.

Добавлено через 6 минут
А в какой среде вы писали данную программу? У меня Builder 6
И что должно быть написано в консольном окне? у меня просто выдает 1, и ошибку
0
DU
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
14.12.2011, 22:31
[C++ Warning] Unit1.cpp(17): W8070 Function should return a value
Как бы не ошибка а предупреждение..запускается все хорошо. У вас програма компилируется?
Наплевательское отношение к ворнингам до добра не доводит. Все вроде компилится, но работает не прваильно. Неужели так сложно перевести что тут написано, что ф-ия должна возвращать значение? Смотрим на ф-ию int Pop() и видим, что return у нее не всегда отрабатывает, а только когда стек уже пустой. А когда не пустой что возвращается? В некоторых системах программа в таких случаях просто крашится. В общем, это надо исправить.
1
 Аватар для KVANTA
3 / 3 / 1
Регистрация: 12.12.2011
Сообщений: 68
14.12.2011, 22:36  [ТС]
а как исправить?
0
DU
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
14.12.2011, 22:57
если в ф-ии нет строчки с ретурном а компилятор на это ворнинг выдает, то, очевидно, строчку с ретурном нужно куда-нибудь довабить. например в конец этой ф-ии
0
63 / 58 / 14
Регистрация: 14.12.2011
Сообщений: 193
14.12.2011, 23:06
спасибо за замечание...

Без варнингов
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
#include <iostream.h>
using namespace std;
class IntVal{
    int Number;
public:
    IntVal *curr;
    IntVal *prev;
 
    IntVal(){
        curr = NULL;
    }
    int Push(int N){
        prev = curr;
        curr = new IntVal();
        curr->Number = N;
        curr->prev = prev;
        return 0;
    }
    int Pop(){
        cout << curr->Number << endl;
        delete curr;
        curr = curr->prev;
        if (curr == NULL)
            return 0;
        else
            return 1;
    }
};
int main(int argc, char* argv[])
{
    int i = 5;
    IntVal *Stack = new IntVal();
    while(i){
        Stack->Push(i--);
    }
    while(Stack->Pop());
    delete Stack;
    system("pause");
    return 0;
}
0
48 / 48 / 24
Регистрация: 29.10.2011
Сообщений: 154
15.12.2011, 13:11
Цитата Сообщение от YouDoItWrong Посмотреть сообщение
stl stuck?
Цитата Сообщение от Dr.Urban Посмотреть сообщение
Насколько я понял надо простенький клас..ничего особенного
Ну я просто это неписал к тому, что уже к готовому шаблону можно приписать свой функционал, не изобритая велосипедов.
0
63 / 58 / 14
Регистрация: 14.12.2011
Сообщений: 193
15.12.2011, 15:40
Я так понимаю человеку не надо сам велосипед а надо разобраться как он работает, чтобы сам мог собрать такой..
0
 Аватар для KVANTA
3 / 3 / 1
Регистрация: 12.12.2011
Сообщений: 68
15.12.2011, 16:11  [ТС]
весьма благодарен за помощь, но у меня все же те же ошибки, объясните пожалуйста что должна выводить эта программа
0
63 / 58 / 14
Регистрация: 14.12.2011
Сообщений: 193
16.12.2011, 00:37
Можно их как нибуть увидеть? или же укажите место где ошибки. У меня все чистенько, жду..
0
 Аватар для KVANTA
3 / 3 / 1
Регистрация: 12.12.2011
Сообщений: 68
16.12.2011, 00:57  [ТС]
вот фото с ошибкой
Миниатюры
Стеки  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.12.2011, 00:57
Помогаю со студенческими работами здесь

Стеки на С!
Создать стек для символов. Максимальный размер стека вводится с экрана. Создать функции для ввода и вывода элементов стека. Добавлять...

Стеки С++
Добрый вечер.Задание следующие нужно сделать добавление в стек после елемента L.Дано 2 стека X Y из них добавить верхушку с X в Z до...

Стеки
Здравствуйте, помогите пожалуйста осилить задачу. Задача: Вот то что я написал, а дальше что то никак не идет. #include...

Стеки
помогите пожалуйста вот что получилось, не могу довести до ума) может кто поможет) задание: Дано арифметическое выражение длинной до 20...

Стеки
Сделал очередь, а вот кольцевой не получается, подскажите как сделать. #include &lt;iostream&gt; using namespace std; int...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru