Pagini recente » Cod sursa (job #2317749) | Cod sursa (job #1373930) | Cod sursa (job #91037) | Cod sursa (job #2709962) | Cod sursa (job #1626196)
#include<cstdio>
using namespace std;
int ras,i;
char s[100004];
int suma();
int termen();
int factor();
int suma()
{
int x=0;
x=termen();
while(s[i]=='+'||s[i]=='-')
{
i++;
if(s[i-1]=='+')x=x+termen();
else x=x+termen();
}
return x;
}
int termen()
{
int x=0;
x=factor();
while(s[i]=='*'||s[i]=='/')
{
i++;
if(s[i-1]=='*')x=x*factor();
else x=x/factor();
}
return x;
}
int factor()
{
int x=0;
if(s[i]=='(')
{
i++;
x=suma();
i++;
}
else
while(s[i]>='0'&&s[i]<='9')
x=x*10+s[i]-'0',i++;
return x;
}
int main()
{
freopen("evaluare.in","r",stdin);
freopen("evaluare.out","w",stdout);
gets(s+1);
i=1;
ras=suma();
printf("%d",ras);
return 0;
}