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

Определить количество элементов в стеке - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Не воспринимает ни std::cout, ни std::cin. Вобщем ничего из std. Также не понимает iostream http://www.cyberforum.ru/cpp-beginners/thread162966.html
Здравствуйте! Я хотел начать изучать язык C++. Набрал литературы. Установил Microsoft Visual C++ 2005 Express Edition. Образ диска скачал с сайта майкрософт. Установщик установил помимо Microsoft Visual C++ 2005 Express Edition ещё MSDN и SQL Server. Когда начал учиться по книгам, то возникла проблема - не получается никак ничего опробовать на практике. Например, вот первый пример программы...
C++ вопрос методики обучения После прочтения учебника Подбельского (си++) столкнулся с проблемой: что делать дальше? практиковаться, практиковаться, практиковаться..а потом? Посоветуйте пожалуйста литературу. По какому учебнику обучались вы? Откуда можно получить необходимую информацию? Благодарю за ответы. http://www.cyberforum.ru/cpp-beginners/thread162935.html
C++ Указатели: правильно ли я понял вопрос?
Есть задание Решите следующие задачи. Полагайте, что беззнаковые целые хранятся в 2 байтах, и что начальный адрес массива находится в ячейке памяти 1002500. a) Объявите массив values типа unsigned int с 5 элементами и присвойте элементам на- чальные значения в виде четных чисел от 2 до 10. Полагайте, что определена символи- ческая константа SIZE, равная 5. b) Объявите указатель vPtr,...
Создать класс описывающий множество C++
Создать класс описывающий множество и производный от него с реализацией функций обьединения, пересичения, дополнения, деления и симетрического деления...Не могу написать функции для производного класс...
C++ Вывести среднюю сумму по броскам для обоих участников (игра "кубики") http://www.cyberforum.ru/cpp-beginners/thread162929.html
Игра «кубики». Условие: имеется два игральных кубика со значениями от 1 до 6. Игра происходит с компьютером, кубики бросаются поочередно. Побеждает тот, у кого сумма выпавших очков по итогам пяти бросков больше. Предусмотрите возможность получения первого хода человеком или компьютером. Кубики отображаются с помощью символов. В конце игры необходимо выводить среднюю сумму по броскам для обоих...
C++ Какая есть библиотека для работы с ftp? есть ли какая либо библиотека для работы с ftp? <ftp.h> -?если нет то где можно скачать? Программирую на С++ в КОНСОЛИ. Программа под винду. я новичок так что извените если что не так. подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
01.09.2010, 23:50     Определить количество элементов в стеке
Цитата Сообщение от bobromet Посмотреть сообщение
Какой смысл делать класс с двумя одинаковыми стеками?
Вот и я о том же думаю...

NikolaWhite, Вы этими двумя "стеками" чего добиться хотите?
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
#include <iostream>
#include <stdexcept>
#include <string>
#include <cstdlib>
 
class Stack {
    struct Node {
        int nValue;
        Node * pNext;
        Node(int val) : nValue(val), pNext(NULL) {}
    };
    Node * top;
public:
    Stack() : top(NULL) {}
    ~Stack(){
        Node * tmp;
        while ( top ){
            tmp = top->pNext;
            delete top;
            top = tmp;
        }
    }
    void push(int val){
        Node * pNode = new Node(val);
        pNode->pNext = top;
        top = pNode;
    }
    int pop(){
        int val;
        Node * next;
        
        if ( ! top )
            throw std::runtime_error("Empty stack!");
        
        val = top->nValue;
        next = top->pNext;
        delete top;
        top = next;
        
        return val;
    }
    bool empty() const {
        return top == NULL;
    }
    int count() const {
        int cnt = 0;
        Node * node;
        for ( node = top; node; node = node->pNext )
            ++cnt;
        
        return cnt;
    }
};
 
int main(){
    Stack stack;
    std::string buf;
    
    std::cout << "Enter some values one per string. Empty string - finish." << std::endl;
    while ( true ){
        std::cout << "> ";
        std::getline(std::cin, buf);
        if ( buf.empty() )
            break;
        stack.push(atoi(buf.c_str()));
    }
    
    if ( stack.empty() ){
        std::cout << "Empty stack" << std::endl;
        return 0;
    }
    
    std::cout << "Stack contains " << stack.count() << " elements" << std::endl;
    while ( ! stack.empty() )
        std::cout << stack.pop() << std::endl;
    
    return 0;
}
 
Текущее время: 10:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru