Pagini recente » Cod sursa (job #1007184) | Cod sursa (job #3130337) | Cod sursa (job #2201423) | Cod sursa (job #100861) | Cod sursa (job #1920339)
#include <bits/stdc++.h>
using namespace std;
char nextChar;
char Consume() {
char result = nextChar;
nextChar = getchar();
return result;
}
int E();
int F() {
int aux;
if(nextChar == '(') {
Consume();
aux = E();
Consume();
} else {
aux = 0;
while(isdigit(nextChar))
aux = 10 * aux + Consume() - '0';
}
return aux;
}
int T() {
int aux = F();
while(nextChar == '*' || nextChar == '/')
if(Consume() == '*')
aux *= F();
else
aux /= F();
return aux;
}
int E() {
int aux = T();
while(nextChar == '+' || nextChar == '-')
if(Consume() == '+')
aux += T();
else
aux -= T();
return aux;
}
int main() {
#ifdef INFOARENA
freopen("evaluare.in", "r", stdin);
freopen("evaluare.out", "w", stdout);
#endif
Consume();
printf("%d\n", E());
}