Pagini recente » Cod sursa (job #1047192) | Cod sursa (job #1718535) | Cod sursa (job #186033) | Cod sursa (job #797751) | Cod sursa (job #1372419)
#include<fstream>
#include<string.h>
using namespace std;
char s[100000];
long i,n,r,j=0;
int zarojel();
int szorzat();
int osszeg();
int main()
{
ifstream f("evaluare.in");
ofstream g("evaluare.out");
f>>s;
n=strlen(s);
g<<osszeg();
f.close();
g.close();
return 0;
}
int zarojel()
{
int r=0;
if(s[j]=='(')
{
j++;
r=osszeg();
j++;
}
else while(s[j]>='0'&&s[j]<='9')
{
r=r*10+s[j]-'0';
j++;
}
return r;
}
int szorzat()
{
int r;
r=zarojel();
while(s[j]=='*'||s[j]=='/')
{
if(s[j]=='*')
{
j++;
r*=szorzat();
}
else if(s[j]=='/')
{
j++;
r/=szorzat();
}
}
return r;
}
int osszeg()
{
int r;
r=szorzat();
while(s[j]=='+'||s[j]=='-')
{
if(s[j]=='+')
{
j++;
r+=szorzat();
}
else if(s[j]=='-')
{
j++;
r-=szorzat();
}
}
return r;
}