Pagini recente » Cod sursa (job #2474435) | Cod sursa (job #1954612) | Cod sursa (job #2454711) | Cod sursa (job #534340) | Cod sursa (job #2271097)
#include <fstream>
using namespace std;
ifstream fin("evaluare.in");
ofstream fout("evaluare.out");
int i,expresie(),termen(),factor();
char v[100001];
int expresie(){
int r=termen();
while(v[i]=='+' || v[i]=='-'){
if(v[i]=='+'){
i++;
r+=termen();
}else{
i++;
r-=termen();
}
}
return r;
}
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=0;
if(v[i]=='('){
i++;
r=expresie();
i++;
}else{
r=0;
while(v[i]>='0' && v[i]<='9'){
r=r*10+v[i]-'0';
i++;
}
}
return r;
}
int main(){
fin>>v;
fout<<expresie();
return 0;
}