Pagini recente » Cod sursa (job #1694005) | Cod sursa (job #301569) | Cod sursa (job #2688945) | Cod sursa (job #75060) | Cod sursa (job #1124906)
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
char s[100006];
int p;
int prod();
int termen();
int suma()
{
int r = prod();
while(s[p]=='+' || s[p]=='-'){
p++;
if(s[p-1] == '+')
r+=prod();
else
r-=prod();
}
return r;
}
int prod()
{
int f = termen();
while(s[p]=='*'||s[p]=='/'){
p++;
if(s[p-1] == '*')
f*=termen();
else
f/=termen();
}
return f;
}
int termen()
{
int t=0;
if(s[p]=='('){
p++;
t=suma();
p++;
}
else
while(s[p]>='0' && s[p]<='9')
t=t*10+s[p++]-'0';
return t;
}
int main()
{
freopen("evaluare.in", "r", stdin);
freopen("evaluare.out", "w", stdout);
gets(s);
printf("%d", suma());
return 0;
}