Pagini recente » Cod sursa (job #817402) | Cod sursa (job #427209) | Cod sursa (job #1849254) | Cod sursa (job #2883911) | Cod sursa (job #1863055)
#include <cstdio>
#include <cstdlib>
using namespace std;
char sir[100003];
char* s;
int calc();
int matoi()
{
int rez = 0;
for(; *s >= '0' && *s <= '9'; s++)
rez = rez * 10 + *s - '0';
return rez;
}
int factor()
{
int r;
if(*s == '(')
{
s++;
r = calc();
s++;
}
else r = matoi();
return r;
}
int termen()
{
int r = factor();
while(*s == '*' || *s == '/')
{
if(*s == '*')
{
s++;
r *= factor();
}
else
{
s++;
r /= factor();
}
}
return r;
}
int calc()
{
int r = termen();
while(*s == '+' || *s == '-')
{
if(*s == '+') {
s++;
r += termen();
}
else
{
s++;
r -= termen();
}
}
return r;
}
int main()
{
freopen("evaluare.in", "r", stdin);
freopen("evaluare.out", "w", stdout);
scanf("%s", sir);
s = sir;
int rez = calc();
printf("%d", rez);
return 0;
}