Pagini recente » Cod sursa (job #2312688) | Cod sursa (job #916962) | Cod sursa (job #2602710) | Cod sursa (job #579194) | Cod sursa (job #2239587)
# include <fstream>
# define DIM 100010
using namespace std;
ifstream fin("evaluare.in");
ofstream fout("evaluare.out");
char t[DIM];
int i;
int suma();
int produs();
int element();
int main () {
fin>>t;
fout<<suma()<<"\n";
return 0;
}
int suma(){
int val=produs();
while(t[i]=='-'||t[i]=='+'){
if(t[i]=='-'){
i++;
val-=produs();
}
else{
i++;
val+=produs();
}
}
return val;
}
int produs(){
int val=element();
while(t[i]=='*'||t[i]=='/'){
if(t[i]=='*'){
i++;
val*=element();
}
else{
i++;
val/=element();
}
}
return val;
}
int element(){
int val=0;
if(t[i]=='('){
i++;
val+=suma();
i++;
return val;
}
while(t[i]>='0'&&t[i]<='9'){
val=val*10+t[i]-'0';
i++;
}
return val;
}