Pagini recente » Cod sursa (job #552551) | Cod sursa (job #2287794) | Cod sursa (job #2732148) | Cod sursa (job #2534016) | Cod sursa (job #2172800)
# include <fstream>
# define DIM 100010
using namespace std;
ifstream fin("evaluare.in");
ofstream fout("evaluare.out");
char t[DIM];
int i;
int adunare();
int inmultire();
int expresie();
int main () {
fin>>t;
fout<<adunare()<<"\n";
return 0;
}
int adunare(){
int val=inmultire();
while(t[i]=='+'||t[i]=='-'){
i++;
if(t[i-1]=='+')
val+=inmultire();
else
val-=inmultire();
}
return val;
}
int inmultire(){
int val=expresie();
while(t[i]=='*'||t[i]=='/'){
i++;
if(t[i-1]=='*')
val*=expresie();
else
val/=expresie();
}
return val;
}
int expresie(){
int val=0;
if(t[i]=='('){
i++;
val=adunare();
i++;
return val;
}
while(t[i]>='0'&&t[i]<='9'){
val=val*10+t[i]-'0';
i++;
}
return val;
}