Pagini recente » Cod sursa (job #884363) | Cod sursa (job #56846) | Cod sursa (job #428610) | Cod sursa (job #997954) | Cod sursa (job #3301711)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("evaluare.in");
ofstream fout("evaluare.out");
string s;
int i;
int prod(), elem();
int ecuatie()
{
int sum=prod();
while(s[i]=='+' || s[i]=='-')
{
++i;
if(s[i-1]=='+')
sum+=prod();
else sum-=prod();
}
return sum;
}
int prod()
{
int a=elem();
while(s[i]=='*' || s[i]=='/')
{
++i;
if(s[i-1]=='*')
a*=elem();
else a/=elem();
}
return a;
}
int elem()
{
int semn=1, b=0;
if(s[i]=='-')
{
semn*=-1;
++i;
}
if(s[i]=='(')
{
++i;
b=ecuatie();
++i;
}
while(s[i]>='0' && s[i]<='9')
{
b=b*10+s[i]-'0';
++i;
}
return semn*b;
}
int main()
{
fin>>s;
i=0;
fout<<ecuatie();
return 0;
}