Cod sursa(job #3132943)
Utilizator | Data | 24 mai 2023 15:18:55 | |
---|---|---|---|
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 x)
{
int r;
char o;
if(!x)
for(r=A(1),o=c;o=='+'||o=='-';F.get(c),r=o=='+'?r+A(1):r-A(1),o=c);
else if(x==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=10*r+c-48,F.get(c));
return r;
}
int main()
{
return F.get(c),G<<A(0),0;
}