Pagini recente » Borderou de evaluare (job #1963497) | Borderou de evaluare (job #1296181) | Borderou de evaluare (job #3182090) | Cod sursa (job #2607521) | Cod sursa (job #3253222)
#include <iostream>
#include<fstream>
using namespace std;ifstream fin("evaluare.in");ofstream fout("evaluare.out");
char v[100010],*p=v;
long termen();
long factor();
long eval(){long r=termen();
while(*p=='+'||*p=='-'){
if(*p=='+'){p++;r+=termen();}
else{p++;r-=termen();}}
return r;}
long termen(){long r=factor();
while(*p=='*'||*p=='/'){
if(*p=='*'){p++;r*=termen();}
else{p++;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;
}