Pagini recente » Cod sursa (job #1785414) | Cod sursa (job #452942) | Cod sursa (job #242364) | Statistici Dicu Daria Gabriela (GabrielaThymeea) | Cod sursa (job #2059530)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("evaluare.in");
ofstream fout("evaluare.out");
int parnr();
int grad1();
int grad2();
char v[100001];
int i;
int parnr()
{
int ans = 0;
if ( v[i] == '(' )
{
++i;
ans = grad1();
++i;
}
else
while ( v[i] <= '9' && v[i] >= '0' )
ans = ans*10+(v[i++]-'0');
return ans;
}
int grad2()
{
int ans = parnr();
while ( v[i] == '*' || v[i] =='/' )
{
if (v[i] == '*')
{
++i;
ans *= parnr();
}
if ( v[i] == '/' )
{
++i;
ans /= parnr();
}
}
return ans;
}
int grad1()
{
int ans = grad2();
while ( v[i] == '+' || v[i] == '-' )
{
if ( v[i] == '+' )
{
++i;
ans += grad2();
}
if ( v[i] == '-' )
{
++i;
ans -= grad2();
}
}
return ans;
}
int main()
{
fin>>v;
fout<<grad1();
}