Pagini recente » Cod sursa (job #1620552) | Cod sursa (job #1151145) | Cod sursa (job #2419162) | pgleague | Cod sursa (job #159533)
Cod sursa(job #159533)
// evaluare.cpp : Defines the entry point for the console application.
//
#include <stdio.h>
FILE *fin=fopen("evaluare.in","r"),
*fout=fopen("evaluare.out","w");
char x[100010],*s=x;
long eval2();
long nr();
long eval()
{
long a=eval2();
while (*s=='+'||*s=='-')
{
if (*s=='+')
{
s++;
a+=eval2();
}
else {
s++;
a-=eval2();
}
}
return a;
}
long eval2()
{
long a=nr();
while (*s=='*'||*s=='/')
{
if (*s=='*')
{
s++;
a*=nr();
}
else {
s++;
a/=nr();
}
}
return a;
}
long nr()
{
long a=0;
if (*s=='(')
{
s++;
a=eval();
s++;
}
else
while (*s>='0'&&*s<='9')
{
a=a*10+*s-'0';
s++;
}
return a;
}
int main()
{
fscanf(fin,"%s",&x);
fprintf(fout,"%ld\n",eval());
fclose(fin);
fclose(fout);
return 0;
}