Cod sursa(job #1898606)

Utilizator XDDDDariusPetean Darius XDDDDarius Data 2 martie 2017 10:00:28
Problema Evaluarea unei expresii Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.05 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream f("evaluare.in");
ofstream o("evaluare.out");
typedef long l;
char s[100005];
int p;
l termen();
l factor();
l eval()
{
    l r = termen();
    while ( s[p]=='+' || s[p]=='-' )
    {
        /*if(s[p]=='+')
        {
          r+=termen();
          p++;
        }*/
        else if(s[p]=='-')
        {
            r-=termen();
            p++;
        }
    }
    return r;
}
l factor()
{
    l r=termen();
    while(s[p]=='*' || s[p]=='/')
    {
        if(s[p]=='*')
        {
            r*=termen();
            p++;
        }
        if(s[p]=='/')
        {
            r/=termen();
            p++;
        }
    }
    return r;
}
l factor() {
    l r=0;
    if(s[p]=='(')
    {
        p++;
        r=eval();
        p++;
    }
    else {
        while ( s[p]>='0' && s[p]<='9' )
        {
            r = r*10 + s[p] - '0';
            p++;
        }
    }
    return r;
}

int main()
{
    f>>s;
    cout<<
    return 0;
}