Cod sursa(job #2095159)

Utilizator jordan1998Jordan jordan1998 Data 27 decembrie 2017 01:16:27
Problema Evaluarea unei expresii Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
ifstream f ("evaluare.in");
ofstream g("evaluare.out");
char s[100001];
int i=0,lg;
int e();
int E();
int termen()
{
  int x=0;
  if(s[i]=='(')
  {
   i++;
   x=E();
   i++;
  }
while(s[i]>='0'&&s[i]<='9')
    x=x*10+s[i]-'0',i++;
return x;
}
int e()
{
    int x=termen();
    while(s[i]=='*'||s[i]=='/')
        if(s[i++]=='*')
        x*=termen();
        else
        x/=termen();
    return x;
}
int E()
{
int x=e();
while(s[i]=='+'||s[i]=='-')
        if(s[i++]=='+')
        x+=e();
        else
        x-=e();
    return x;
}
int main()
{
f>>s;
g<<E();
}