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

Алгоритм сортировочной станции(вычисление по обратной польской записи). - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ mpi скиньте кто нибудь несколько примеров http://www.cyberforum.ru/cpp-beginners/thread392723.html
Скиньте кто сможет любые примеры которые по проще, например: (2+2)*(3+3) вот что бы посчитать это параллельно, буду очень признателен, а если кто нибудь подскажет хорушую литературу кроме Антонов А.С будет вообще замечательно.
C++ из Борланда в Студию уважаемые господа джуниоры и синьоры программисты. помогите мне чайнику разобраться с проблемой плиз есть проект (игра) написанная на borland c++ 5.02 и есть Visual Studio 2010 как перенести проект на VS2010? для получения исходников пишите на mikka47@gmail.com http://www.cyberforum.ru/cpp-beginners/thread392719.html
проверка C++
Даны вещественные массивы F, M.Для каждого массива определить произведение положительных элементов ,расположенных в чётных строках массива, и произведение положительных элементов, расположенных в нечётных строках массива. #include < iostream.h> #include <iomanip.h> //прототипы функций void input ( float ,char); void schetproduct (float, float *, float *); void output ( float , char ,...
проверить задачу на ошибки C++
Даны вещественные массивы F, M.Для каждого массива определить произведение положительных элементов ,расположенных в чётных строках массива, и произведение положительных элементов, расположенных в нечётных строках массива. #include < iostream.h> #include <iomanip.h> //прототипы функций void input ( float ,char); void schetproduct (float, float *, float *); void output ( float , char ,...
C++ Определить размерность массива по указателю на него http://www.cyberforum.ru/cpp-beginners/thread392680.html
Дано: template< typename T > void info( T * x ) и int a; info( a ); int b; info( b ); int c; info( c ); int d; info( d ); int e; info( e );
C++ проверить решение Даны вещественные массивы A S.Для каждого массива определить количество элементов предшествующих первому отрицательному элементу массива. #include <iostream.h> #include <iomanip.h> // прототипы функций void inputmas (int ,char); int schet (int); void outrez (int ,char ,int); void main() { подробнее

Показать сообщение отдельно
usatik
0 / 0 / 0
Регистрация: 27.11.2011
Сообщений: 4
28.11.2011, 15:21  [ТС]     Алгоритм сортировочной станции(вычисление по обратной польской записи).
Все работает, большое спасибо.
В результате копипаста различной степени наглости вышло следующие:
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
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
const int SIZE = 256;
 
class stack{
    int p;
    int data[SIZE];
public:
    stack(){
        for (int i = 0; i < SIZE; i++)
            this->data[i] = 0;
        this->p = 0;
    }
    int pop(){
        this->p--;
        return this->data[p];
    }
    void push(int num){
        this->data[p] = num;
        p++;
    }
};
 
int power(int n, int k){
    int c = 1;
    while (k != 1){
        if (k % 2 == 0){
            k /= 2;
            n *= n;
        } else {
            k--;
            c *= n;
        }
    }
    return n * c;
}
 
int main()
{
    ifstream input("input.txt");
    ofstream output("output.txt");
    string token;
    stack data;
    int iAop = 0;
    int iBop = 0;
    while (input >> token){
        if (token == "+"){
            iBop = data.pop();
            iAop = data.pop();
            data.push(iAop + iBop);
            continue;
        }
        if (token == "-"){
            iBop = data.pop();
            iAop = data.pop();
            data.push(iAop - iBop);
            continue;
        }
        if (token == "*"){
            iBop = data.pop();
            iAop = data.pop();
            data.push(iAop * iBop);
            continue;
        }
        if (token == "/"){
            iBop = data.pop();
            iAop = data.pop();
            data.push(iAop / iBop);
            continue;
        }
        if (token == "^"){
            iBop = data.pop();
            iAop = data.pop();
            data.push(power(iAop, iBop));
            continue;
        }
        data.push(atoi(token.c_str()));
    }
    output << data.pop();
    input.close();
    output.close();
    return 0;
}
 
Текущее время: 09:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru