Pagini recente » Cod sursa (job #2346784) | Cod sursa (job #1662741) | Cod sursa (job #2841879) | Cod sursa (job #139852) | Cod sursa (job #908846)
Cod sursa(job #908846)
#include<stdio.h>
char S[100010],*p=S;
long long solve();
long long imn();
long long plm();
long long imn()
{
long long r=0;
if(*p=='(')
{
++p;
r = solve();
++p;
}
else
while(*p>='0' && *p<='9')
r=r*10+(*(p++)-'0');
return r;
}
long long plm()
{
long long r=imn();
while(*p == '*' || *p=='/')
switch ( *p )
{
case '*':
++p;
r*=imn();
break;
case '/':
++p;
r/=imn();
break;
}
return r;
}
long long solve()
{
long long r=plm();
while(*p== '+' || *p=='-')
{
switch(*p)
{
case '+':
++p;
r+=plm();
break;
case '-':
++p;
r-=plm();
break;
}
}
return r;
}
int main()
{
fgets(S,10001,fopen("evaluare.in","r"));
fprintf(fopen("evaluare.out","w"),"%lld",solve());
return 0;
}