Pagini recente » Cod sursa (job #1925012) | Cod sursa (job #2850372) | Cod sursa (job #2480038) | Cod sursa (job #3240755) | Cod sursa (job #667673)
Cod sursa(job #667673)
#include<cstdio>
using namespace std;
const char in[]="evaluare.in";
const char out[]="evaluare.out";
const int N = 100005;
char v[N], *p = v;
int b();
int c();
int a()
{
int r = b();
while(*p == '+' || *p == '-')
if(*p == '+')
++p, r += b();
else if(*p == '-')
++p, r -= b();
return r;
}
int b()
{
int r = c();
while(*p == '*' || *p == '/')
if(*p == '*')
++p, r *= c();
else if(*p == '/')
++p, r /= c();
return r;
}
int c()
{
int nr = 0;
if(*p == '(')++p, nr=a(), ++p;
else
{
while(*p >= '0' && *p <= '9')
nr = nr * 10 + (*p - '0'), ++p;
}
return nr;
}
int main()
{
freopen(in,"r",stdin);
freopen(out,"w",stdout);
scanf("%s", v);
printf("%d", a());
return 0;
}