Pagini recente » Cod sursa (job #288109) | Cod sursa (job #1393810) | Cod sursa (job #2611750) | Cod sursa (job #1910357) | Cod sursa (job #1454521)
#include <fstream>
#define Xp 100003
using namespace std;
ifstream f("evaluare.in");
ofstream g("evaluare.out");
char A[Xp],*a=A;
int op();
int opu();
int nr();
int val(int c)
{
return c-'0';
}
int op()
{
int r=opu();
while(*a=='+'||*a=='-')
{
if(*a=='+') {++a; r+=opu(); }
else {++a; r-=opu(); }
}
return r;
}
int opu()
{
int r=nr();
while(*a=='*'||*a=='/')
{
if(*a=='*') {++a; r*=nr(); }
else {++a; r/=nr(); }
}
return r;
}
int nr()
{
int r=0;
if(*a=='(') { ++a; r=op(); ++a; }
else while(*a >= '0' && *a <= '9') { r=r*10+val(*a); ++a;}
return r;
}
int main()
{
f>>A;
g<<op();
g.close();
return 0;
}