Cod sursa(job #3132941)
Utilizator | Data | 24 mai 2023 15:14: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");
string s;
int i;
int A(int x)
{
int r;
char o;
if(!x)
for(r=A(1),o=s[i];o=='+'||o=='-';++i,r=o=='+'?r+A(1):r-A(1),o=s[i]);
else if(x==1)
for(r=A(2),o=s[i];o=='*'||o=='/';++i,r=o=='*'?r*A(2):r/A(2),o=s[i]);
else if(s[i]=='(')
++i,r=A(0),++i;
else
for(r=0;s[i]>47&&s[i]<58;r=10*r+s[i++]-48);
return r;
}
int main()
{
return F>>s,G<<A(0),0;
}