Cod sursa(job #3129822)

Utilizator otilia_nedelcu@yahoo.comGutanu Tiberiu [email protected] Data 15 mai 2023 21:55:52
Problema Evaluarea unei expresii Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.92 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("evaluare.in");
ofstream g("evaluare.out");
char s[100001];
int i;
int I();
int II();
int III();
int main()
{
     f>>s;
     i=0;
     g<<I();
     return 0;
}
int I()
{
     int r=II();
     while(s[i]=='+'||s[i]=='-')
     {
          i++;
          if(s[i-1]=='+')
               r=r+II();
          else
               r=r-II();
     }
     return r;
}
int II()
{
     int r=III();
     while(s[i]=='*'||s[i]=='/')
     {
          i++;
          if(s[i-1]=='*')
               r=r*III();
          else
               r=r/III();
     }
     return r;
}
int III()
{
     int r=0;
     if(s[i]=='(')
     {
          i++;
          r=I();
          i++;
     }
     else
     {
          while(s[i]>='0'&&s[i]<='9')
          {
               r=r*10+(s[i]-'0');
               i++;
          }
     }
     return r;
}