Pagini recente » Cod sursa (job #1664407) | Cod sursa (job #1689161) | Cod sursa (job #984394) | Cod sursa (job #2624936) | Cod sursa (job #1784016)
#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();
}