Pagini recente » Cod sursa (job #2156407) | Cod sursa (job #2985235) | Cod sursa (job #1691205) | Cod sursa (job #909740) | Cod sursa (job #2253292)
#include <bits/stdc++.h>
using namespace std;
string s;
int i = 0;
int f2();
int f3();
int f1(){
int r = f2();
while (s[i] == '+' or s[i] == '-'){
if(s[i] == '+'){
++i;
r += f2();
}
if (s[i] == '-'){
++i;
r -= f2();
}
}
return r;
}
int f2(){
int r = f3();
while (s[i] == '*' or s[i] == '/'){
if(s[i] == '*'){
++i;
r *= f3();
}
if(s[i] == '/'){
++i;
r /= f3();
}
}
return r;
}
int f3(){
int r= 0;
if (s[i] == '('){
++i;
r = f1();
++i;
}
else {
while(s[i] >= '0' && s[i] <= '9'){
r = r * 10 + (s[i] - '0');
++i;
}
}
return r;
}
int main() {
ifstream f("evaluare.in");
ofstream g("evaluare.out");
f >> s;
s += '#';
g << f1();
return 0;
}