Pagini recente » Cod sursa (job #2364786) | Cod sursa (job #2247040) | Cod sursa (job #184009) | oni2012_9_2 | Cod sursa (job #1511047)
#include<string>
#include<fstream>
using namespace std;
ifstream cin("evaluare.in");
ofstream cout("evaluare.out");
char s[100234];
int i;
int 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 main()
{
cin>>s;
cout<<check()<<"\n";
return 0;
}
int check()
{
int val=termen();
while (s[i]=='+' || s[i]=='-')
if (s[i]=='+') {++i; val+=termen();}
else {++i; val-=termen();}
return val;
}