Pagini recente » Cod sursa (job #1029142) | Cod sursa (job #256312) | Cod sursa (job #2199521) | Cod sursa (job #160667) | Cod sursa (job #493826)
Cod sursa(job #493826)
#include <stdio.h>
#include <stdlib.h>
char s[100001];
int p=0;
int factori();
int expresii();
int termeni()
{
int r=factori();
if(s[p]=='+')
{
p++;
r=r+factori();
}
if(s[p]=='-')
{
p++;
r=r-factori();
}
return r;
}
int factori()
{
int r=expresii();
if(s[p]=='*')
{
p++;
r=r*expresii();
}
if(s[p]=='/')
{
p++;
r=r/expresii();
}
return r;
}
int expresii()
{
int r=0;
while(s[p]>='0' && s[p]<='9')
{
r=10*r+s[p]-'0';
p++;
}
if(s[p]=='(')
{
p++;
r=termeni();
p++;
}
return r;
}
int main()
{
freopen("evaluare.in","r",stdin);
freopen("evaluare.out","w",stdout);
scanf("%s",&s);
printf("%d",termeni());
}