Pagini recente » Cod sursa (job #1649815) | Cod sursa (job #799359) | Cod sursa (job #98208) | Cod sursa (job #2759322) | Cod sursa (job #1933177)
#include<fstream>
#include<string>
using namespace std;
ifstream f("evaluare.in");
ofstream g("evaluare.out");
char expresie[100010],*p=expresie;
long adunari(),inmultiri(),paranteze();
long adunari()
{
long s=inmultiri();
while(*p=='+'||*p=='-')
{
if(*p=='+')
{
p++;
s+=inmultiri();
}
else
if(*p=='-')
{
p++;
s-=inmultiri();
}
}
return s;
}
long inmultiri()
{
long s=paranteze();
while(*p=='*'||*p=='/')
{
if(*p=='*')
{
p++;
s*=paranteze();
}
else
if(*p=='/')
{
p++;
s/=paranteze();
}
}
return s;
}
long paranteze()
{
long s=0;
if(*p=='(')
{p++;
s=adunari();
p++;
}
else while(*p>='0'&&*p<='9')
{
s=s*10+*p-'0';
p++;
}
return s;
}
int main()
{
f>>expresie;
g<<adunari();
}