Pagini recente » Cod sursa (job #3144487) | Cod sursa (job #3160696) | Cod sursa (job #1282835) | Cod sursa (job #639588) | Cod sursa (job #2876107)
#include <fstream>
using namespace std;
char sir[100001], *p=sir;
long long mul_div();
long long paranteze();
long long add_sub()
{
long long t = mul_div();
while(*p=='+' || *p=='-' )
{
if(*p == '+')
{
++p;
t += mul_div();
}
else
{ ++p;
t -= mul_div();
}
}
return t;
}
long long mul_div()
{
long long f = paranteze();
while(*p=='*' || *p=='/')
{
if (*p == '*')
{
++p;
f *= paranteze();
}
else
{ ++p;
f /= paranteze();
}
}
return f;
}
long long paranteze()
{
long long nr=0;
if (*p == '(')
{
++p;
nr = add_sub();
++p;
}
else
{
while(*p>='0' && *p<='9')
{
nr = nr * 10 + *p - '0';
++p;
}
}
return nr;
}
int main()
{ifstream f("evaluare.in");
ofstream g("evaluare.out");
f >> sir;
g << add_sub();
f.close();
g.close();
return 0;
}