Pagini recente » Istoria paginii runda/tp4 | Cod sursa (job #1926630) | Cod sursa (job #2015711) | Cod sursa (job #505330) | Cod sursa (job #1782756)
#include <string>
#include <fstream>
using namespace std;
string s;
int p=0;
int f2() ;
int f3() ;
int f1()
{
int r=f2();
while (p<=s.length() && (s[p]=='-' || s[p]=='+'))
{
p++;
if (s[p-1]=='+') r+=f2(); else r-=f2();
}
return r;
}
int f2()
{
int r=f3();
while (p<=s.length() && (s[p]=='*' || s[p]=='/'))
{
p++;
if (s[p-1]=='*') r*=f2(); else r/=f2();
}
return r;
}
int f3()
{
int r=0;
if (s[p]=='(')
{
p++;
r=f1();
p++;
}
else
{
while (p<=s.length() && s[p]>='0' && s[p]<='9')
{
r=r*10+(s[p]-'0');
p++;
}
}
return r;
}
void lire()
{
ifstream f("evaluare.in");
f >> s;
f.close();
}
void ecrire()
{
ofstream f("evaluare.out");
f << eval();
f.close();
}
main()
{
lire();
ecrire();
}