Pagini recente » Cod sursa (job #3191254) | Cod sursa (job #2508485) | Cod sursa (job #747482) | Cod sursa (job #1544561) | Cod sursa (job #1936726)
#include <fstream>
using namespace std;
ifstream f("evaluare.in");
ofstream g("evaluare.out");
char *p,s[100001];
int evaluare1();
int evaluare3()
{
int rez=0;
if(*p=='('){p++;rez=evaluare1();p++;}
else while(*p>='0' && *p<='9')
{
rez=rez*10+(*p-'0');
p++;
}
return rez;
}
int evaluare2()
{
int rez=evaluare3();
while(*p=='*' || *p=='/')
if(*p=='*'){p++;rez*=evaluare3();}
else {p++;rez/=evaluare3();}
return rez;
}
int evaluare1()
{
int rez=evaluare2();
while(*p=='+' || *p=='-')
if(*p=='+'){p++;rez+=evaluare2();}
else {p++;rez-=evaluare2();}
return rez;
}
int main()
{
f>>s;p=s;
g<<evaluare1();
return 0;
}