Указать последовательность выполнения действий (с++)
Указать приоритет операций в арифметическом примере. Умножение, деление, сумма и разница имеют одинаковый приоритет, всё дело в скобках, в примере вы увидите, что я имею введу. Сразу покажу что должно происходить в программе:
2+1+(4+1-(5-3))
1) 5-3
2) 4+1
3) 4+1-(5-3)
4) 2+1
5) 2+1+(4+1-(5-3))
У меня получился код, но он слишком калечный и не автоматизирован. ПРОШУ, ПОМОГИТЕ, ПОЖАЛУЙСТА!!
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
char calculate[50];
char primer[20];
char primer2[20];
cout << "Введите пример: ";
gets_s(calculate);
int i = 0;
int j = 0;
int k = 0;
cout << endl;
if (calculate[i] == '(')
{
do
{
primer[j] = calculate[i+1];
j++;
i++;
if (calculate[i] == '(')
{
do
{
primer2[k] = calculate[i + 1];
k++;
i++;
if (calculate[i] == '(')
{
primer2[k] = calculate[i + 1];
}
} while (calculate[i + 1] != ')');
}
} while (calculate[i+1] != ')');
}
cout << endl;
cout << "The first operation ";
for (int i = 0; i < j-2; i++)
{
cout << primer2[i];
}
cout << endl;
cout << "The second operation ";
for (int i = 0; i < k; i++)
{
cout << primer[i];
}
cout << endl;
cout << "The third operation ";
cout << calculate;
}