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

организовать функцию для вычисления арифметического выражения записанного в постфиксной форме - C++

Восстановить пароль Регистрация
 
wowan30002
2 / 2 / 0
Регистрация: 23.05.2012
Сообщений: 194
13.02.2013, 17:06     организовать функцию для вычисления арифметического выражения записанного в постфиксной форме #1
Нужна программа:
Организовать функцию для вычисления арифметического выражения записанного в постфиксной форме

Заранее благодарю

Добавлено через 16 часов 23 минуты
помогите пожалуйста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.02.2013, 17:06     организовать функцию для вычисления арифметического выражения записанного в постфиксной форме
Посмотрите здесь:

Вычисление выражения, записанного в постфиксной форме C++
C++ Приложение для вычисления значения арифметического выражения
C++ Написать программу,которая вычисляет значение арифметического выражения записанного в постфиксной форме,с помощью стека
Программа на С++ для вычисления арифметического выражения C++
организовать функцию для вычисления арифметического выражения записанного в постфиксной форме C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
13.02.2013, 18:22     организовать функцию для вычисления арифметического выражения записанного в постфиксной форме #2
Цитата Сообщение от wowan30002 Посмотреть сообщение
Нужна программа:
Организовать функцию для вычисления арифметического выражения записанного в постфиксной форме
Не сильно объективное задание
ya_noob
_
200 / 144 / 9
Регистрация: 08.10.2011
Сообщений: 432
13.02.2013, 19:56     организовать функцию для вычисления арифметического выражения записанного в постфиксной форме #3
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
#include <iostream>
#include <stack>
 
using namespace std;
 
int postfix( char *str )
{
    stack< int > s;
    int x;
 
    for ( int i = 0; str[ i ]; ++i )
    {
        if ( str[ i ] >= '0' && str[ i ] <= '9' )
        {
            x = str[ i ] - '0';
            while ( str[ i + 1 ] >= '0' && str[ i + 1 ] <= '9' )
                x = x * 10 + str[ ++i ] - '0';
            s.push( x );
        }
        else if ( str[ i ] == '+' && s.size() >= 2 )
        {
            x = s.top(); s.pop();
            x += s.top(); s.pop();
            s.push( x );
        }
        else if ( str[ i ] == '-' && s.size() >= 2 )
        {
            x = s.top(); s.pop();
            x = s.top() - x; s.pop();
            s.push( x );
        }
        else if ( str[ i ] == '*' && s.size() >= 2 )
        {
            x = s.top(); s.pop();
            x *= s.top(); s.pop();
            s.push( x );
        }
        else if ( str[ i ] == '/' && s.size() >= 2 && s.top() != 0 )
        {
            x = s.top(); s.pop();
            x = s.top() / x; s.pop();
            s.push( x );
        }
    }
 
    if ( !s.empty() )
        return s.top();
    return INT_MAX;
}
 
int main()
{
    const int MAX_N = 100;
    char str[ MAX_N ];
 
    cin.getline( str, MAX_N );
    cout << postfix( str ) << endl;
 
    return 0;
}
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
13.02.2013, 20:00     организовать функцию для вычисления арифметического выражения записанного в постфиксной форме #4
Цитата Сообщение от ya_noob Посмотреть сообщение
#include <iostream> #include <stack>
Только нужно ещё добавить загловок сlimits, а то не на всех компиляторах можно скомпилировать.
wowan30002
2 / 2 / 0
Регистрация: 23.05.2012
Сообщений: 194
13.02.2013, 20:36  [ТС]     организовать функцию для вычисления арифметического выражения записанного в постфиксной форме #5
ya_noob спасибо тебе даже не знаю как тебя отблагодарить
Yandex
Объявления
13.02.2013, 20:36     организовать функцию для вычисления арифметического выражения записанного в постфиксной форме
Ответ Создать тему
Опции темы

Текущее время: 18:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru