Pagini recente » Cod sursa (job #517429) | Cod sursa (job #653401) | Cod sursa (job #3252347) | Borderou de evaluare (job #1551112) | Cod sursa (job #2814215)
#include <fstream>
using namespace std;
ifstream fin ("evaluare.in");
ofstream fout("evaluare.out");
int pm();
int pM();
int p();
int i;
char v[100010];
int pm() {
int x=pM();
while(v[i]=='+' || v[i]=='-'){
if(v[i]=='+'){
i++;
x+=pM();
}
else{
i++;
x-=pM();
}
}
return x;
}
int pM(){
int x=p();
while(v[i]=='*' || v[i]=='/'){
if(v[i]=='*'){
i++;
x*=p();
}
else{
i++;
x/=p();
}
}
return x;
}
int p(){
int x=0;
if(v[i]=='('){
i++;
x=pm();
i++;
}
else{
x=0;
while(v[i]>='0' && v[i]<='9'){
x=x*10+(v[i]-'0');
i++;
}
}
return x;
}
int main(){
fin>>v;
i=0;
fout<<pm();
return 0;
}