РА3РАБОТАТЬ ПРОГРАММУ [требует правки]

257
19 декабря 2017, 18:58

Разработать программу, расставляющую скобки во введенном арифметическом выражении с целью максимизации его значения. To develop the program, set the brackets in the input arithmetic expression to maximize its value.
Я смог сообра3ить только это. Как сделать нужное мне. Любая помощь приветствуется.

#include <iostream.h>
#include <conio.h>
int prior(char c) // функция определения приоритета операций
{
switch(c)
{
case '(': return 0;
case ')': return 1;
case '+': case'-': return 2;
case '*': case'/': return 3;
default: return -1; }
}
int main() {
char S[100], S1[100], stack[100]; // S, S1 - входная и получаемая строки
int i, j=0, st_n=0; // stack – стек, st_n – вершина стека
float a,b,c,d,e,R;
cout<<"Введите выражение ";
 cin>>S;
// Поверка правильности расстановки скобок
for (i=0; S[i]!=0; i++)
 switch(prior(S[i]))
{ // если буква или открывающая скобка – заносим в стек
case -1: S1[j++]=S[i]; break;
case 0: stack[st_n++]=S[i]; break;
// если закрывающая скобка - извлекаем из стека все до открывающей
case 1: while( st_n && (prior(stack[st_n-1])!=0) )
S1[j++]=stack[--st_n];
st_n--;
break;
case 2: case 3: while(st_n && (prior(stack[st_n-1])>=prior(S[i]) ) )
S1[j++]=stack[--st_n]; stack[st_n++]=S[i];
}
while(st_n) S1[j++]=stack[--st_n]; //извлекаем из стека все оставшееся
S1[j]=0;
cout<<S1<<endl;
system(“pause”);
  return 0;
} 
READ ALSO
Подключение boost к Visual Studio 2017

Подключение boost к Visual Studio 2017

Гуглил, устанавливают через command prompt, но я его не нашелПодскажите другие способы по подключению boost к visual studio 2017

372
Windows forms + c++

Windows forms + c++

Как запрограммировать кнопку, дабы по нажатию на нее добавлялся объект в stripmenu?

252
Ввод строки с пробелами C++

Ввод строки с пробелами C++

В общем есть функция, в которой идет ввод string-строки через std::getline(); Вызывая эту функцию несколько раз подряд, первая строка записывается пустой,...

305