Pagini recente » Profil | Cod sursa (job #2029892) | Cod sursa (job #2743312) | Cod sursa (job #1838414) | Cod sursa (job #2029231)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("evaluare.in");
ofstream g("evaluare.out");
long i;
char a[100001];
long adun();
long nr()
{
int n=0;
if(a[i]=='(')
{++i;n=adun();++i;return n;}
while(a[i]>'0'){n=n*10+a[i]-'0';++i;}
return n;
}
long inmu()
{
int p=nr();
while (a[i]=='/' || a[i]=='*'){
if(a[i]=='/') p/=nr();
else p*=nr();++i;
}
return p;
}
long adun()
{
int s=inmu();
while (a[i]=='-'||a[i]=='+'){
if(a[i]=='-')s-=inmu();
else s+=inmu();++i;
}
return s;
}
int main()
{
f>>a;
g<<adun();
}