Pagini recente » Cod sursa (job #61602) | Cod sursa (job #1324119) | Cod sursa (job #2213572) | Cod sursa (job #47661) | Cod sursa (job #2523201)
#include <bits/stdc++.h>
using namespace std;
ifstream f ("evaluare.in");
ofstream g ("evaluare.out");
char s[100002];
char *t=s;
int getnr()
{
//cout<<4;
int nr=0;
while(*t>='0' && *t<='9')
{
nr*=10;
nr+=*t-'0';
++t;
}
// cout<<nr<<"n ";
return nr;
}
int prod();
int parant();
int sum()
{
int r=prod();
//cout<<r<<" ";
while(*t=='+' || *t=='-')
{
if(*t=='+')
{
++t;
r+=prod();
}
else
{
++t;
r-=prod();
}
}
return r;
}
int prod()
{
int r=parant();
//cout<<r<<" ";
while(*t=='*' || *t=='/')
{
if(*t=='*')
{
++t;
r*=parant();
}
else {
++t;
r/=parant();
}
}
return r;
}
int parant()
{
int r=0;
//cout<<r<<" ";
if(*t=='(')
{
++t;
r= sum();
++t;
}
else r= getnr();
return r;
}
int main()
{
f>>s;
g<<sum();
return 0;
}