Pagini recente » Cod sursa (job #2868547) | Cod sursa (job #163527) | Cod sursa (job #380744) | Cod sursa (job #594297) | Cod sursa (job #1831569)
#include<fstream>
using namespace std;
ifstream f ("exaluare.in");
ofstream g ("exaluare.out");
char s[100001],*p=s;
int eval();
int fact();
int termen();
int eval(){
int r=termen();
while(*p=='+'||*p=='-'){
if(*p=='+') ++p,r+=termen();
else ++p,r-=termen();
}
return r;
}
int termen(){
int r=fact();
while(*p=='*'||*p=='/'){
if(*p=='*') ++p,r*=fact();
else ++p,r/=fact();
}
return r;
}
int fact(){
int r=0;
if(*p=='(')
++p, r=eval(),++p;
else
while(*p>='0' && *p<='9')
r=r*10+*p-'0',++p;
return r;
}
int main()
{
f.getline(s,100001);
g<<eval();
}