Pagini recente » Cod sursa (job #1960778) | Cod sursa (job #975171) | Cod sursa (job #2503135) | Cod sursa (job #635342) | Cod sursa (job #729592)
Cod sursa(job #729592)
#include<iostream>
#include<fstream>
using namespace std;
char s[100005];
int i;
int op();
int sep();
int calc()
{
int r=op();
while(s[i]=='+'||s[i]=='-')
{
if(s[i]=='+')
{
i++;
r=r+op();
}
else
{
i++;
r=r-op();
}
}
return r;
}
int op()
{
int r=sep();
while(s[i]=='*'||s[i]=='/')
{
if(s[i]=='*')
{
i++;
r=r*sep();
}
else
{
i++;
r=r/sep();
}
}
return r;
}
int sep()
{
int r=0;
if(s[i]=='(')
{
i++;
r=calc();
i++;
}
else
while(isdigit(s[i]))
r=r*10+(s[i]-48),i++;
return r;
}
int main()
{
freopen("evaluare.in","r",stdin);
freopen("evaluare.out","w",stdout);
scanf("%s",&s);
cout<<calc();
return 0;
}