Pagini recente » Cod sursa (job #2542642) | Cod sursa (job #2549748) | Cod sursa (job #2728373) | Cod sursa (job #2318707) | Cod sursa (job #2152242)
#include <fstream>
using namespace std;
ifstream fin("evaluare.in");
ofstream fout("evaluare.out");
int termen();
int factor();
int nr();
char v[100002];
int i;
int main(){
fin>>v;
fout<<termen();
}
int termen(){
int r=factor();
while(v[i]=='-' || v[i]=='+'){
if(v[i]=='-'){
i++;
r-=factor();
}else{
i++;
r+=factor();
}
}
return r;
}
int factor(){
int r=nr();
while(v[i]=='*' || v[i]=='/'){
if(v[i]=='*'){
i++;
r*=nr();
}else{
i++;
r/=nr();
}
}
return r;
}
int nr(){
int r=0;
if(v[i]=='('){
i++;
r=termen();
i++;
}else{
while(v[i]>='0' && v[i]<='9'){
r=r*10+v[i]-'0';
i++;
}
}
return r;
}