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

Решение уравнений - последовательность действий - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Разработать рекурсивную функцию, возвращающую значение http://www.cyberforum.ru/cpp-beginners/thread835962.html
Разработать рекурсивную функцию, возвращающую значение: для вычисления значения функции:
C++ C++ подключение с MySQL Мне нужно подключиться к MySQL. Я видел примеры подключения, где используются какие-то дравера ODBC... Объясните мне пожалуйста, обязательно ли нужны эти драйвера? Я люблю писать без лишних вещей и как можно меньше того, чего я не понимаю. Может одного MySQL connector будет достаточно? Если так, можно мне пожалуйста ссылку на пример? Почему-то на сайте mysql.com документации по подключению не... http://www.cyberforum.ru/cpp-beginners/thread835954.html
Разработать рекурсивную функций, возвращающую значение для нахождения НОД методом Евклида C++
разработать рекурсивную функций,возвращающую значение для нахождения НОД методом Евклида НОД(a,b)=а,если a=b НОД(a-b,b),если a>b НОД(a,b-a),если b>a помогите пожалуйста,не получается решить
Вывести повторяющиеся элементы C++
Задан целочисленный массив Х из 20 элементов, среди которых есть повторяющиеся. Записать в массив Y по одному элементу из каждой группы одинаковых значений исходного массива.
C++ Нарисовать 5 линий в Codeblocks http://www.cyberforum.ru/cpp-beginners/thread835928.html
Господа хорошие подскажите как работает графика в этом CB. ЗАДАЧА Есть программа которая производит вычисления и находит 10 точек. Необходимо нарисовать 5 линий по заданым точкам и сохранить это дело в файл. ПРОБЛЕМА с которой уже нет сил бороться (нокаут) При скачивании кода с какого либо сайта ( с целью понять какие функции и команды и т.д. мне бы подошло) это падло СB говорит что нет...
C++ Считать строку определенных размеров Всем Привет! Не подскажите как с текстового файла считать нужное количество символов , указывая с какой по какой символ читать? подробнее

Показать сообщение отдельно
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
12.04.2013, 18:41     Решение уравнений - последовательность действий
вчера кому-то на форуме писал разбор обратной польской нотации, не нашёл что-то той темы

в общем вот код
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
#include <iostream>
#include <sstream>
#include <string>
#include <stack>
 
int main()
{
std::stack <int> st;
std::string s="11 23 +45 *32 +",str;
char symb;
int secoper,firoper,value;
std::size_t n_s = 0;
for (int i=0;i<=s.size() ;i++)
{
    symb = s[n_s];
    ++n_s;
    switch (symb)
                {
                case '+':
                        secoper=st.top();
                        st.pop();
                        firoper=st.top();
                        st.pop();
                        value=secoper+firoper;
                        st.push(value);
                        break;
                case '-':
                        secoper=st.top();
                        st.pop();
                        firoper=st.top();
                        st.pop();
                        value=secoper-firoper;
                        st.push(value);
                        break;
                case '/':
                        secoper=st.top();
                        st.pop();
                        firoper=st.top();
                        st.pop();
                        value=secoper/firoper;
                        st.push(value);
                        break;
                case '*':
                        secoper=st.top();
                        st.pop();
                        firoper=st.top();
                        st.pop();
                        value=secoper*firoper;
                        st.push(value);
                        break;
                case ' ': 
                          {
                              int num;
                              std::stringstream(str) >> num;
                              st.push(num);
                              str = "";
                          }
                case 0 : break;
                 default : str += symb;
                }
 
}
    std::cout<<st.top()<<std::endl;
    st.pop();
    system("pause");
    return 0;
}
генерируйте вместо std::string s="11 23 +45 *32 +" нужную вам последовательность действий
и приоритет можно уже алгоритмически придумать как расставить в исходную строку или заранее сделать всевозможные шаблоны

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