Cod sursa(job #1291714)

Utilizator Alex_SimionSimion Alexandru Alex_Simion Data 13 decembrie 2014 10:18:07
Problema Evaluarea unei expresii Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.9 kb
#include <fstream>
#include <cstring>
#include <algorithm>
#define N 2000010
using namespace std;
ifstream f("evaluare.in");
ofstream g("evaluare.out");
char E[N],*p;
int suma(),produs(),paranteza(),numar();
int main()
{
    p=E;
    f>>p;
    g<<suma();
    return 0;
}
int suma()
{
    int Suma=produs();
    while(*p=='-'||*p=='+')
    {
        if(*p=='-'){p++;Suma-=produs();}
        else {p++;Suma+=produs();}
    }
    return Suma;
}
int produs()
{
    int Produs=paranteza();
    while(*p=='*'||*p=='/')
    {
        if(*p=='*'){p++;Produs*=paranteza();}
        else {p++;Produs/=paranteza();}
    }
    return Produs;
}
int paranteza()
{
    if(*p>='0'&&*p<=9)
        return numar();
    p++;
    int Paranteza=suma();
    p++;
    return Paranteza;
}
int numar()
{
    int Numar=0;
    while(*p>=0&&*p<=9)
        Numar=Numar*10+*p-'0';
    return Numar;
}