Pagini recente » Cod sursa (job #2441917) | Cod sursa (job #708986) | Cod sursa (job #1320700) | Cod sursa (job #3242614) | Cod sursa (job #2931754)
#include <fstream>
using namespace std;
ifstream cin("evaluare.in");
ofstream cout("evaluare.out");
int p;
char v[100010];
int termen();
int factor();
int expresie() {
int aux=termen();
while(v[p]=='+'||v[p]=='-') {
if(v[p]=='+'){
p++;
aux+=termen();
}
else {
p++;
aux-=termen();
}
}
return aux;
}
int termen() {
int aux=factor();
while(v[p]=='/'||v[p]=='*') {
if(v[p]=='/'){
p++;
aux/=factor();
}
else {
p++;
aux*=factor();
}
}
return aux;
}
int factor() {
int aux=0;
if(v[p]=='('){
p++;
aux=expresie();
p++;
}
else {
aux=0;
while(v[p]>='0'&&v[p]<='9'){
aux*=10;
aux+=v[p]-'0';
p++;
}
}
return aux;
}
int main() {
cin>>v;
p=0;
cout<<expresie();
}