Pagini recente » Cod sursa (job #1435234) | Cod sursa (job #244770) | Cod sursa (job #2981052) | Cod sursa (job #513972) | Cod sursa (job #2812514)
#include <fstream>
using namespace std;
ifstream fin("evaluare.in");
ofstream fout("evaluare.out");
int E();int F();int T();
int p;
char s[100005];
int E()
{
int r=T();
while(s[p]=='+' || s[p]=='-')
{
if(s[p]=='+')
{
++p;
r+=T();
}
else
{
++p;
r-=T();
}
}
return r;
}
int T()
{
int t=F();
while(s[p]=='*' || s[p]=='/')
{
if(s[p]=='*')
{
++p;
t*=F();
}
else
{
++p;
t/=F();
}
}
return t;
}
int F()
{
int r=0;
if(s[p]=='(')
{
++p;
r=E();
++p;
}
else
{
while(s[p]>='0' && s[p]<='9')
{
r*=10;
r+=s[p]-'0';
p++;
}
}
return r;
}
int main()
{
fin>>s;
fout<<E();
}