Pagini recente » Cod sursa (job #1779687) | Cod sursa (job #2092996) | Cod sursa (job #521110) | Cod sursa (job #560236) | Cod sursa (job #3253221)
#include <iostream>
#include<fstream>
using namespace std;ifstream fin("evaluare.in");ofstream fout("evaluare.out");
char v[100005],*p=v;
long termen();
long factor();
long eval(){long r=termen();
while(*p=='+'||*p=='-'){
if(*p++=='+')r+=termen();
else r-=termen();}
return r;}
long termen(){long r=factor();
while(*p=='*'||*p=='/'){
if(*p++=='*')r*=termen();
else r/=termen();}
return r;}
long factor(){long r=0;
if(*p=='('){p++;r=eval();p++;}
else while(*p>='0'&&*p<='9'){r=r*10+*p-'0';p++;}
return r;}
int main()
{fin.getline(v,100001,'\n');
fout<<eval();
return 0;
}