Форум программистов, компьютерный форум, киберфорум
Наши страницы

STL stack, не пойму где ошибка - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Проверить, упорядочены ли элементы, заменить первый нулевой элемент и удалить указанный элемент из массива http://www.cyberforum.ru/cpp-beginners/thread1184740.html
Найти произведение отрицательных элементов массива, следующих после первого положительного элемента. Если по какой-либо причине вычислить произведение не удается, выдать об этом сообщение с указанием...
C++ Операции с элементами массивов 4. Определить номера строк матрицы R, хотя бы один элемент которых равен с, и элементы этих строк умножить на d. http://www.cyberforum.ru/cpp-beginners/thread1184719.html
Составить программу для вычисления значений функции F(x) на отрезке [а, b] с шагом h C++
F(x)=tgx-помогите решить
Сумма элементов матрицы в 4-х потоках C++
Ребята, помогите пожалуйста!) Нужно составить матрицу и посчитать ее сумму в 4-х потках 2 методами: 1) использовать семофор; 2) использовать мютекс; Вычислить какой способ синхронизации быстрее.
C++ Сформировать массивы: в первый включить элементы исходного массива с четными номерами, а во второй с нечетными http://www.cyberforum.ru/cpp-beginners/thread1184683.html
помогите решить..........Задан массив с количеством элементов N. Сформировать два массива: в первый включить элементы исходного массива с четными номерами а во второй с нечетными
C++ Что делают эти функции (шифр Цезаря)? Это часть программы шифра Цезаря. Подскажите, пожалуйста, что делают эти 4 функции. #include <iostream> #include <fstream> using namespace std; int read_file(char*... подробнее

Показать сообщение отдельно
Novichok_K_Z
0 / 0 / 0
Регистрация: 24.12.2013
Сообщений: 11

STL stack, не пойму где ошибка - C++

22.05.2014, 15:24. Просмотров 512. Ответов 2
Метки (Все метки)

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
88
89
90
91
92
93
94
95
#include <iostream>
#include <stack>
#include <string>
#include <sstream>
using namespace std;
 
bool isOperator(const string& input);
void performOp(const string& input,stack<double>& calcStack);
 
int main()
 
{
    cout<<"Welcome to RPN calculator"<<endl;
 
    stack<double> calcStack;
    string input;
 
    while(true)
    {
        //display prompt
        cout<<">>";
 
        //get input
        cin>>input;
 
        //check for numeric value
        double num;
        if(istringstream(input)>>num)
        {
            calcStack.push(num);
        }
        //check for operator
        else if(isOperator(input))
        {
            performOp(input,calcStack);
        }
        //check for quit
        else if(input=="q")
        {
            return 0;
        }
        //invalid output
        else 
        { 
            cout<<"Invalid input"<<endl;
        }
    }
}
 
bool isOperator(const string& input)
{
    string ops[] = {"-","+","*","/"};
    for(int i = 0; i < 4; i++)
    {
        if(input == ops[i])
        {
            return true;
        }
    }
 
    return false;
}
 
void perforOp(const string& input,stack<double>& calcStack)
{
    double lVal,rVal,result;
 
    rVal=calcStack.top();
    calcStack.pop();
 
    lVal=calcStack.top();
    calcStack.pop();
 
    if(input == "-")
    {
        result=lVal-rVal;
    }
    else if(input == "+")
    {
        result=lVal+rVal;
    }
    else if(input == "*")
    {
        result=lVal*rVal;
    }
    else 
    {
        result=lVal/rVal;
    }
 
    cout<<result<<endl;
    calcStack.push(result);
 
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru