Pagini recente » Cod sursa (job #1993120) | Cod sursa (job #2365954) | Cod sursa (job #795649) | Cod sursa (job #777035) | Cod sursa (job #156390)
Cod sursa(job #156390)
#include <stdio.h>
#include <string.h>
#define MAXN 100001
char s[MAXN];
int p = 0;
int solve1();
int solve2();
int solve3();
int
main ()
{
freopen ("evaluare.in", "rt", stdin);
freopen ("evaluare.out", "wt", stdout);
gets (s);
printf ("%d\n", solve1());
return 0;
}
int solve1()
{
int sol = solve2();
if (s[p] == '+')
{
++p;
sol += solve2();
}
if (s[p] == '-')
{
++p;
sol -= solve2();
}
return sol;
}
int solve2()
{
int sol = solve3();
if (s[p] == '*')
{
++p;
sol *= solve2();
}
if (s[p] == '/')
{
++p;
sol /= solve2();
}
return sol;
}
int solve3()
{
int sol = 0;
if (s[p] == '(')
{
++p;
sol += solve1();
++p;
}
else for (; s[p] >= '0' && s[p] <= '9'; sol = sol * 10 + s[p] - '0', ++p);
return sol;
}