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

стек в STL - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создать класс Triangle для представления треугольника. Поля данных должны включать углы и стороны. http://www.cyberforum.ru/cpp-beginners/thread301604.html
Создать класс Triangle для представления треугольника. Поля данных должны включать углы и стороны. Требуется реализовать операции: получения и изменения полей данных, вычисления площади, вычисление периметра, вычисление высот, а также определения вида треугольника (равносторонний, равнобедренный или прямоугольный). необходимо реализовать в том или ином виде определение нового класса
C++ организовать цикл дано слово ch="sdf" Как сделать, чтобы ch просматривался целым словом, а не посимвольно. for(i=0;i<=3;i++){ if (!strcmp(ch,argv))) {cout<<"0";} } http://www.cyberforum.ru/cpp-beginners/thread301602.html
Как создавать dll? C++
как создавать dll по типу //инклуды #ifdef __cplusplus extern "C" { #endif // константы
Диф уравнения второго порядка C++
Всем доброго здоровья. проблема в том что не могу освоить численное решение диф. уравнений второго порядка, из за того что не знаю численные методы решения систем уравнений, решение протых уравнений освоил на отлично. В общем кто может поделитесь пожалуйста примерчиком, или хотя бы примерчиком решения систем уравнения методом(Зейделя или Гаусса), а привести к системе я уже смогу сам. Заранее...
C++ Функции C++ turbo http://www.cyberforum.ru/cpp-beginners/thread301575.html
Даны 2 одномерных массива,в каждом массиве надо найти количество элементов,кратных 5. Подскажите пожалуйста функцию нахождения кол-ва элементов,кратных 5. Треугольник задан координатами вершин. Найти периметр треугольника. Описать функцию нахождения расстояния между двумя точками. Добавлено через 49 секунд Заранее благодарен...
C++ Массив,строки,символы. Помогите пожалуйста решить 3 задачки на C++ турбо,пожалуйста,очень надо,скоро экзамен. 1. Дана строка символов. Если первый и последний символы строки равны, то последний символ удалить. 2. Даны сведения об авто: фамилия владельца, марка, цвет, год выпуска: 1) Найти фамилии владельцев, у которых белые «Жигули». 2) Найти самый старый автомобиль. 3) Найти марки машин, выпущенных после 2000... подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
22.05.2011, 18:02     стек в STL
Можно и попроще сделать (со стандартным стеком):
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
79
80
81
82
83
84
85
86
87
#include <iostream>
#include <numeric>
#include <functional>
#include <cstdlib>
#include <iterator>
#include <algorithm>
 
#include <stack>
 
template <class T, class binop>
T product(std::stack<T> stack, T accum,
      binop op)
{
    while(!stack.empty())
    {
    accum = op(stack.top(), accum);
    stack.pop();
    }
 
    return accum;
}
 
template <class T>
T product(std::stack<T> stack, T accum)
{
    return product(stack, accum, std::multiplies<int>());
}
 
int main()
{
    std::stack<int> stack;
    
    while(true)
    {
    std::cout << "Выберите действие:" << std::endl
          << "\t1. Добавить множитель" << std::endl
          << "\t2. Удалить множитель" << std::endl
          << "\t3. Выполнить умножение" << std::endl
          << "\t4. Выход" << std::endl << std::endl;
 
    int inum;
    int val;
    
    std::cin >> inum;
 
    switch(inum)
    {
    case 1:
        std::cout << "Введите множитель: ";
        std::cin >> val;
        stack.push(val);
        std::cout << "Добавлен множитель: " << val << std::endl;
        continue;
 
    case 2:
        if(stack.empty())
        std::cerr << "Стек пуст" << std::endl;
        else
        {
        std::cout << "Удален множитель: " << stack.top() << std::endl;
        stack.pop();
        }
        
        continue;
 
    case 3:
        if(stack.empty())
        std::cerr << "Стек пуст" << std::endl;
        else
        std::cout << "Произведение равно: "
              << product(stack, 1)
              << std::endl;
        continue;
 
    case 4:
        break;
 
    default:
        std::cerr << "Неизвестная операция: " << inum << std::endl;
        continue;
    }
 
    break;
    }
    
    return 0;
}
Печать стека, надеюсь, сделаешь сам
 
Текущее время: 12:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru