Pagini recente » Cod sursa (job #2533813) | Cod sursa (job #1746283) | Cod sursa (job #1060258) | concurs_de_test | Cod sursa (job #2072611)
#include <bits/stdc++.h>
using namespace std;
char *s = new char[100005];
int e(int l) {
int rez = 0;
if(l == 0) {
rez = e(1);
while(*s == '+' || *s == '-') {
if(*s == '+')
s++, rez += e(1);
else
s++, rez -= e(1);
}
}
else if(l == 1) {
rez = e(2);
while(*s == '*' || *s == '/')
if(*s == '*')
s++, rez *= e(2);
else
s++, rez /= e(2);
}
else if(*s == '(') {
s++;
rez = e(0);
s++;
}
else {
while(isdigit(*s))
rez = rez * 10 + *s - '0', s++;
}
return rez;
}
int main() {
freopen("evaluare.in", "r", stdin);
freopen("evaluare.out", "w", stdout);
cin >> s;
cout << e(0);
return 0;
}