Cod sursa(job #300673)

Utilizator tibiletsKoos Tiberiu Iosif tibilets Data 7 aprilie 2009 16:40:45
Problema Evaluarea unei expresii Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include<fstream.h>
char S[100010],*p=S;
long long t();
long long f();
long long e();
int main()
{ifstream f("evaluare.in");
ofstream g("evaluare.out");
f.get(S,100010);
g<<e();
return 0;
}
long long e()
{long long x=t();
 if(*p=='+')
 {++p;
  x=x+t();}
 if(*p=='-')
 {++p;
  x=x-t();}
 return x;
}
long long t()
{long long x=f();
 if(*p=='*')
 {++p;
  x=x*f();}
 if(*p=='/')
 {++p;
  x=x/f();
 }
 return x;
}
long long f()
{long long x=0;
 if(*p=='(')
 {++p;
  x=e();
  ++p;}
 else
  while(*p>='0'&&*p<='9')
  {x=x*10+*p-'0';
   ++p;}
 return x;
}