Cod sursa(job #3138213)
Utilizator | Data | 18 iunie 2023 09:22:45 | |
---|---|---|---|
Problema | Evaluarea unei expresii | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.51 kb |
#include<fstream>
using namespace std;
ifstream F("evaluare.in");
ofstream G("evaluare.out");
char c;
int A(int l)
{
char o;
int r;
if(!l)
for(r=A(1),o=c;o=='+'||o=='-';F.get(c),r=o=='+'?r+A(1):r-A(1),o=c);
else if(l==1)
for(r=A(2),o=c;o=='*'||o=='/';F.get(c),r=o=='*'?r*A(2):r/A(2),o=c);
else if(c=='(')
F.get(c),r=A(0),F.get(c);
else
for(r=0;c>47&&c<58;r=r*10+c-48,F.get(c));
return r;
}
int main()
{
return F.get(c),G<<A(0),0;
}