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

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

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

Стек - C++

09.11.2009, 17:47. Просмотров 443. Ответов 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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include "stdafx.h" 
#include <iostream> 
using namespace std; 
  
class Stack 
{ 
    private: 
        struct st 
        { st *stack; 
        int top;}; 
        st *last; 
 
    public: 
        Stack(int n)  
        { last = new st; 
        last->top=n; 
        last->stack=NULL; 
        } 
  
        void operator >(int data)  
        { st *pv = new st; 
        pv->top=data; 
        pv->stack=last; 
        last=pv;} 
 
        void operator <(int data)  
        {cout<<last->top<<endl;  
        st *pv=last; 
        last=last->stack; 
        delete pv;} 
 
        void operator>>(int data)  
        {int w; 
            for(int i=0;i<data;i++) 
        {cout<<"vvedite "<<i+1<<" element"<<endl; 
        cin>>w; 
        st *pv = new st; 
        pv->top=w; 
        pv->stack=last; 
        last=pv;}; 
        } 
 
        void operator << (int data) 
        {while(last!=NULL) 
        cout<<last->top<<endl;  
        st *pv=last; 
        last=last->stack; 
        delete pv;} 
}; 
 
 
 int main() 
{Stack R(5); 
R.operator > (8); 
R.operator >>(3); 
R.operator <(0); 
R.operator <<(0); 
 
  system("pause"); 
    return 0; 
}
Это код программы!
Программа звучит так:"создать класс ,описывающий стек. Чтобы в стек можно было добавлять элементы и удалять их,для этого использовать перегруженные операторы (>,>>,<,<<)."
в программе одна ошибка в реализации перегрузки оператора <<(создается зацикливание),остальное работает,помогите исправить!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2009, 17:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Стек (C++):

Используя стек, описать функцию проверяющую, является ли стек пустым - C++
Используя стек, описать функцию проверяющую, является ли стек пустым

Программа добавляет введенный массив 5*5 в стек и выводит полученный стек двумя столбцами - C++
Программа добавляет введенный массив 5*5 в стек и выводит полученный стек двумя столбцами #include &lt;iostream&gt; #include &lt;stdlib.h&gt; ...

Переменные в стеке. Где хранятся? Как обрабатываются? Есть ли программный стек или только стек процессора? - C++
Есть у меня пробелы в познаниях, хотел бы их устранить. 1. Что такое стек в самом языке С++ ? 2. В какой памяти он хранится и почему...

при работе рекурсивной функции заканчивается стек и программа соответственно; как сделать так, чтобы она писала "стек закончился"? - C++
Сабж g++ 4.5.0

Структура стек (: добавить элемент в стек, удалить элемент из стека, получить значение с вершины стека, размер стека...) - C++
Всем привет,ребят помогите пожалуйста с лабой,вообще без понятия про стеки:( Может кто то делал,или встречался с таким заданием: ...

Стек - C++
Здравствуйте,помогите найти понятную реализую кода стека с объяснениями.заранее благодарю Добавлено через 27 секунд Не STL

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Monte-Cristo
2788 / 1374 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
09.11.2009, 18:23 #2
Цитата Сообщение от КсенияСергеевна Посмотреть сообщение
void operator << (int data) {while(last!=NULL) cout<<last->top<<endl; st *pv=last; last=last->stack; delete pv;}
Может просто скобочки фигурные поставить надо?)

Вот так вот:

C++
1
2
3
4
5
6
7
8
9
10
void operator << (int data) 
{
   while(last!=NULL) 
   {
      cout<<last->top<<endl;  
      st *pv=last; 
      last=last->stack; 
      delete pv;
   }
}
КсенияСергеевна
0 / 0 / 0
Регистрация: 07.09.2009
Сообщений: 45
09.11.2009, 18:36  [ТС] #3
спасибо,что-то я не сообразила)))
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
09.11.2009, 19:07 #4
КсенияСергеевна, программистка
КсенияСергеевна
0 / 0 / 0
Регистрация: 07.09.2009
Сообщений: 45
09.11.2009, 19:09  [ТС] #5
ну у всех свои косяки)))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.11.2009, 19:09
Привет! Вот еще темы с ответами:

Стек - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; class Stack_mass { public: int *data; int max_count,...

Стек - C++
Уважаемые теоретики по С++ подскажите, пожалуйста, как граммотно называются в Стеке самое нижнее и самое верхнее значения. Заранее спасибо.

Стек! - C++
Реализуйте структуру данных &quot;стек&quot;. Напишите программу, содержащую описание стека и моделирующую работу стека, реализовав все указанные...

Стек - C++
Реализовать с использованием массива стек (первый пришел, последний ушел), для чего организовать добавление, удаление элементов в массив и...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
09.11.2009, 19:09
Ответ Создать тему
Опции темы

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