Pagini recente » Cod sursa (job #238673) | Cod sursa (job #2755396) | Cod sursa (job #2698042) | Cod sursa (job #1664408) | Cod sursa (job #1510802)
#include <fstream>
#include <cstring>
using namespace std;
ifstream fin("evaluare.in");
ofstream out("evaluare.out");
long int index=0;
int r=0;
char s[100001];
long unul();
long doi();
long trei();
long trei(){
r=doi();
while(s[index]=='+' or s[index]=='-'){
if(s[index]=='+'){
++index;
r=r+doi();
}
if(s[index]=='-'){
++index;
r=r-doi();
}
}
return r;
}
long doi(){
r=unul();
while(s[index]=='*' or s[index]=='/'){
if(s[index]=='*'){
++index;
r=r*unul();
}
if(s[index]=='/'){
++index;
r=r/unul();
}
}
return r;
}
long unul(){
long r=0;
if(s[index]=='('){
index++;
r = trei();
index++;
}
else{
while(s[index]>='0' and s[index]<='9'){
r=r*10+s[index]-'0';
index++;
}
}
return r;
}
int main(){
fin.get(s, 256);
out<<trei();
}