Pagini recente » Cod sursa (job #1910052) | Cod sursa (job #2417664) | Cod sursa (job #1666946) | Cod sursa (job #273089) | Cod sursa (job #908845)
Cod sursa(job #908845)
#include<stdio.h>
char S[100010],*p=S;
int solve();
int imn();
int plm();
int imn()
{
int r=0;
if(*p=='(')
{
++p;
r = solve();
++p;
}
else
while(*p>='0' && *p<='9')
r=r*10+(*(p++)-'0');
return r;
}
int plm()
{
int r=imn();
while(*p == '*' || *p=='/')
switch ( *p )
{
case '*':
++p;
r*=imn();
break;
case '/':
++p;
r/=imn();
break;
}
return r;
}
int solve()
{
int 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"),"%d",solve());
return 0;
}