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

Обратная польская запись - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ преобразовать умножив положительные элементы на минимальный. с использованием сортировки http://www.cyberforum.ru/cpp-beginners/thread897521.html
что-то вывод не получается... Помогите( #include "stdafx.h" #include <iostream> #include <stdio.h> #include <stdlib.h> #include <time.h> #define N 100 using namespace std;
C++ Списки. Вхождение списка в другой Помогите пожалуйста решить задачу: даны три целочисленных списка L1, L2 и L3. Заменить каждое вхождение списка L2 в список L1 на список L3. Добавлено через 3 часа 12 минут #include <stdio.h> #include <iostream> struct List { int info; List *next; List *pred; http://www.cyberforum.ru/cpp-beginners/thread897511.html
C++ Нахождение n по формуле
Здравствуйте уважаемые форумчане!!! помогите пожалуйста с написанием программы Дано натуральное n. Вычислить Заранее большое спасибо)
Как узнать размер папки и её подкаталогов C++
Всем привет. Возник вопрос: "Как узнать размер папки и её подкаталогов" Перерыв кучу информации я понял, что напрямую узнать размер не выйдет.. Нужно перебирать все файлы и подпапки в нужной мне папке.. Не могу найти способ как это правильно сделать. На данный момент имею код:
C++ Заменить считывание с клавиатуры на считывание из файла http://www.cyberforum.ru/cpp-beginners/thread897483.html
Помогите пожалуйста, ни разу не работал со считыванием из файла поэтому не понимаю как и что делать. Почитал в интернете, попробовал, не получается, а очень надо, зачет на кону. Требуется заменить в коде все считывание с клавиатуры на считывание из файла. Допустим файл test.txt будет выглядеть так: 5 0 1 1 0 0 1 0 1 1 0 1 1 0 1 0 0 1 1 0 1
C++ Подсчитать количество слов, начинающихся с буквы 'а' Дано предложение-строка. Подсчитать количество слов, начинающихся с буквы 'а'. подробнее

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

Обратная польская запись - C++

10.06.2013, 16:41. Просмотров 371. Ответов 0
Метки (Все метки)

Внизу приведена процедура с сайта e-maxx, на вход подается выражение к примеру "-(12+3)+(-3+4)", на выходе результат, куда в процедуре дописать cout чтобы она выводила это выражение в Обратной польской записи. Спасибо за ранее

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
int calc (string & str) 
{
    bool may_unary = true;//унарный символ
    vector<int> numbers;
    vector<char> op;
    
    for (size_t i=0; i < str.size(); i++)
        if (str[i] != ' ')
            if (str[i] == '(') 
            {
                op.push_back ('(');
                may_unary = true;
            }
            else if (str[i] == ')') {
                //вытаскиваем из стека до открывающей скобки
                while (op.back() != '(')
                    process_op (numbers, op.back()),  op.pop_back();
                op.pop_back();
                may_unary = false;
            }
            else if (is_op (str[i])) {
                char curop = str[i];
                if (may_unary )  
                    curop = -curop;
 
                while (!op.empty() && (
                    curop >= 0 && priority(op.back()) >= priority(curop)
                    || curop < 0 && priority(op.back()) > priority(curop))
                    )
                    process_op (numbers, op.back()),  op.pop_back();
                op.push_back (curop);
                may_unary = true;
            }
            else {
                string operand;
                while (i < str.length() && isalnum (str[i]))
                    operand += str[i++];
                --i;
                if (isdigit (operand[0]))
                    numbers.push_back (atoi (operand.c_str()));
                may_unary = false;
            }
 
    while (!op.empty())
        process_op (numbers, op.back()),  op.pop_back();
    return numbers.back();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru