Pagini recente » Cod sursa (job #2885479) | Cod sursa (job #395985) | Cod sursa (job #919548) | Cod sursa (job #2086162) | Cod sursa (job #1511037)
#include<string>
#include<fstream>
using namespace std;
fstream cin("evaluare.in");
ofstream cout("evaluare.out");
char s[100234];
int i=0,check();
int factor()
{
int val=0;
if (s[i]=='(') {++i; val=check(); ++i;}
else
while (s[i]>='0' && s[i]<='9') val=val*10+s[i++]-'0';
return val;
}
int termen()
{
int val=factor();
while (s[i]=='*' || s[i]=='/')
if (s[i]=='*') {++i; val*=factor();}
else {++i; val/=factor();}
return val;
}
int check()
{
int val=termen();
while (s[i]=='+' || s[i]=='-')
if (s[i]=='+') {++i; val+=termen();}
else {++i; val-=termen();}
return val;
}
int main()
{
cin>>s;
cout<<check()<<"\n";
return 0;
}