Pagini recente » Cod sursa (job #1376554) | Cod sursa (job #2796039) | Cod sursa (job #1885495) | Cod sursa (job #1065564) | Cod sursa (job #1511041)
#include<string>
#include<fstream>
using namespace std;
ifstream cin("evaluare.in");
ofstream cout("evaluare.out");
char s[100234];
int i,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;
}