Pagini recente » Cod sursa (job #1044414) | Cod sursa (job #677573) | Cod sursa (job #2539856) | Cod sursa (job #1506764) | Cod sursa (job #2000375)
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
ifstream in("f3uare.in");
ofstream out("f3uare.out");
int f1();
int f2();
string s;
int i;
int f3()
{
int nr = f1();
while(s[i] == '+' || s[i] == '-')
{
if(s[i] == '+')
{
++i;
nr += f1();
}
else
{
++i;
nr -= f1();
}
}
return nr;
}
int f1()
{
int nr = f2();
while(s[i] == '*' || s[i] == '/')
{
if(s[i] == '*')
{
++i;
nr *= f2();
}
else
{
++i;
nr /= f2();
}
}
return nr;
}
int f2()
{
int nr = 0;
if(s[i] == '(')
{
++i;
nr = f3();
++i;
}
else
{
while(s[i] >= '0' && s[i] <= '9')
{
nr = nr * 10 + s[i] - '0';
++i;
}
}
return nr;
}
int main()
{
in >> s;
out << f3();
return 0;
}