Pagini recente » Cod sursa (job #1539081) | Cod sursa (job #658238) | Cod sursa (job #584545) | Cod sursa (job #1728892) | Cod sursa (job #1733366)
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
ifstream f ("evaluare.in");
ofstream t ("evaluare.out");
string exp;
int i;
int q();
int qqq()
{
int x=0;
if(exp[i]=='(')
{
++i;
x=q();
++i;
return x;
}
while(exp[i]>=48 and exp[i]<=57)
x=x*10+exp[i]-'0',++i;
return x;
}
int qq()
{
int x=qqq();
while(exp[i]=='*' or exp[i]=='/')
{
if(exp[i]=='*') ++i,x*=qqq();
else ++i,x/=qqq();
}
return x;
}
int q()
{
int x=qq();
while(exp[i]=='+' or exp[i]=='-')
{
if(exp[i]=='+') ++i,x+=qq();
else ++i,x-=qq();
}
return x;
}
inline void citire(){
f>>exp;
exp+=')';}
inline void parsing(){long s;
s=q();
t<<s;}
int main()
{citire();
parsing();
return 0;
}