Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
Sick2
14 / 14 / 6
Регистрация: 26.11.2010
Сообщений: 235
05.03.2011, 21:26  [ТС]

Стек - C++

05.03.2011, 21:26. Просмотров 4469. Ответов 7
Метки (Все метки)

Народ, помогите, умоляю. Всё мучаюсь с заданием.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
cout<<"vvedite razmer stecka"<<endl;
    cin>>n;
    cout<<"vvedite elementi"<<endl;
    for (int i=0; i<n; i++) 
    {
        cin>>q; st1.Push(q);
 
        if(q>0) st2.Push(q);
        else st3.Push(q);
    } 
     cout << "stack ";
  while(!st2.isEmpty()){
   cout << st2.Top << ' ';
    st2.Pop();
  }
Почему при выводе элементов стека, у меня выводятся адреса, а не сами элементы?
Я думаю это из-за Top, но не могу исправить...
В общем вылаживаю весь код.
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
// Stack.cpp : Defines the entry point for the console application.
//#include "stdafx.h"
#include "stdafx.h"
#include "stack.h"
bool Stack::isEmpty()
{
    return ((*Top).prev==NULL);
}
 
int Stack::Pop()
{
    int vp=STACK_ESE;
    if (!isEmpty()) 
    {
        vp=(*Top).key;
        Node* pr=(*Top).prev;
        delete Top;
        Top=pr;
    }
    return vp;
}
void Stack::Push(int x)
{
    Node *nd = new Node;
    nd->key=x;
    nd->prev=Top;
    Top=nd;
}
Stack CreateStack()
{
    Stack *st=new Stack;
    st->Top=NULL;
    st->Push(STACK_ESE);
    return *st;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#define STACK_ESE    -1 
 
 
    struct Node
    {
    int    key;
    Node* prev;
    };
struct Stack                      
{
    Node*  Top;
      
    void Push(int);         
    int  Pop();  
    bool isEmpty(); 
};
Stack CreateStack()
;
Помогите!

Добавлено через 1 час 25 минут
АП!!!

Добавлено через 1 час 4 минуты
Проблема решена. Тему клоуз.

http://www.cyberforum.ru/cpp-beginners/thread1999821.html

0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.03.2011, 21:26
Готовые ответы и решения для C++ Стек:

Программа добавляет введенный массив 5*5 в стек и выводит полученный стек двумя столбцами
Программа добавляет введенный массив 5*5 в стек и выводит полученный стек двумя...

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

Заполнить стек 20 случайными числами с интервала [0; -10]. Вывести стек на экран. Изъять из стека каждый четвертый элеме
Заполнить стек 20 случайными числами с интервала . Вывести стек на экран....

Сформировать стек из 6 цифр. Вывести стек на экран. Удалить элементы из стека, увеличить каждый из них на единицу и снов
Сформировать стек из 6 цифр. Вывести стек на экран. Удалить элементы из стека,...

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

7
Стек C++    
Другие темы раздела
C++ Строки http://www.cyberforum.ru/cpp-beginners/thread248953.html
Не напомните эквивалент std::cout и cin для std::string
C++ Как установить библиотеки с++ Только начинаю использовать с++, скачал библиотеку для работы с базой данных (заголовочные файлы .h), копирую их в usr\include (cygwin), подключаю, но программа очень ругается, как устанавливать... http://www.cyberforum.ru/cpp-beginners/thread248919.html
C++ Как прочитать данные из потока вывода другого процесса
Как получить то, что выводит командная строка (прочитать выводной поток другого процесса)
Поиск минимального значения C++
Здравствуйте подскажите пожалуйста, как сделать поиск минимального значения. Дано 5 формул типа z=8*x+y*2. Нужно вывести наименьший результат из 5 формул.
C++ Где можно скачать c++? http://www.cyberforum.ru/cpp-beginners/thread248900.html
Ребят где можно скачать c++??? И посоветуйте книги для изучение языка. Буду благодарна. =))
C++ процедуры и функции Составить процедуру, результатом работы которой является истинное значение, если символ, передаваемый в процедуру, является буквой, и ложное значение в противном случае. В программе эту процедуру... подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru