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

Стек - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывод двухмерного массива в файл *.txt. http://www.cyberforum.ru/cpp-beginners/thread180812.html
Как вывести двухмерный массив iMatrice в файл? Вывод будет зациклен по ходу обновления параметров W и H. Главный вопрос: Как сделать чтобы вывод массива в файл не затирал его, а дополнял (продолжал запись) через 1 строку чтобы в самом файле было примерно так: 1 //Первый вывод #### #### ####
C++ Static_cast Подскажи пожалуста return static_cast<double>(get_num())/get_den(); как это понимать, а то в книге написано, но не объяснено, а в справочнике по-функциям не нашел http://www.cyberforum.ru/cpp-beginners/thread180811.html
C++ Самый часто встречаемый символ в массиве
А как можно найти наиболее часто встречающийся символ в массиве из х элементов
Двусторонняя очередь C++
Как реализовать двустороннюю очередь для сохранения и работы с динамическими данными?
C++ не открывает файл!!! http://www.cyberforum.ru/cpp-beginners/thread180808.html
что делать? вроде бы всё правильно, но он не открывает даже первый файл Code!!! //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include <stdio.h> #include<iostream.h> #include <dos.h> #include <conio.h>
C++ Маршрут массив 10х10 заполнено числами. Начало маршрута в левом нижнем углу. Конец - в правом верхем. Можна двигаться только прямо или вправо. Найти такой маршрут, чтобы сума чисел в ячейках была максимальной. подробнее

Показать сообщение отдельно
easybudda
Эксперт С++
9455 / 5468 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
24.10.2010, 16:52     Стек
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
#include <iostream>
#include <string>
 
template <typename T>
class Stack {
    T * arr;
    int size;
    int pos;
public:
    Stack(int s) : size(s), pos(-1) {
        arr = new T [ size ];
    }
    ~Stack() {
        if ( arr )
            delete [] arr;
    }
    
    void push(const T & val){
        if ( pos >= size - 1 )
            throw ( std::string("Stack is full!") );
        arr[++pos] = val;
    }
    
    T pop(){
        if ( pos < 0 )
            throw ( std::string("Stack is empty!") );
        return arr[pos--];
    }
};
 
int menu(){
    int m;
    std::cout << "\n1 - push element\n2 - pop element\n0 - exit\n> ";
    std::cin >> m;
    return m;
}
 
int main(){
    int i, val;
    std::cout << "Stack size: ";
    std::cin >> i;
    Stack<int> stack(i);
    
    while ( i = menu() ){
        switch ( i ) {
            case 1 :
                std::cout << "\nValue: ";
                std::cin >> val;
                try {
                    stack.push(val);
                }
                catch ( std::string errstr ){
                    std::cerr << "\nError: " << errstr << std::endl;
                }
                break;
            case 2 :
                try {
                    val = stack.pop();
                    std::cout << "\nValue: " << val << std::endl;
                }
                catch ( std::string errstr ) {
                    std::cerr << "\nError: " << errstr << std::endl;
                }
                break;
            default :
                std::cerr << "\nWrong command!" << std::endl;
        }
    }
    
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru