Pagini recente » Cod sursa (job #2735150) | Cod sursa (job #1321829) | Cod sursa (job #2334654) | Cod sursa (job #2161843) | Cod sursa (job #1784020)
#include <fstream>
#include <cstring>
using namespace std;
ifstream in("evaluare.in");
ofstream out("evaluare.out");
int poz, n;
char s[1000010];
int sayiAl()
{
int S = 0;
for(; '0' <= s[poz] && s[poz] <= '9'; ++poz)
{
S*= 10;
S+= s[poz] - '0';
}
return S;
}
int coz()
{
int S = 0, p = 1;
while(s[poz] != ')')
{
if(s[poz] == '(')
{
++poz;
p*= coz();
}
else if(s[poz] == '*')
++poz;
else if(s[poz] == '/')
{
++poz;
if(s[poz] = '(')
{
++poz;
p/= coz();
}
else p/= sayiAl();
}
else if('0' <= s[poz] && s[poz] <= '9')
p*= sayiAl();
else if(s[poz] == '+')
{
S+= p;
p = 1;
++poz;
}
else if(s[poz] == '-')
{
S= p;
p = -1;
++poz;
}
}
S+= p;
++poz;
return S;
}
int main()
{
in >> s;
n = strlen(s);
s[n] = ')';
out << coz();
}