Cod sursa(job #754043)

Utilizator freak93Adrian Budau freak93 Data 31 mai 2012 09:33:25
Problema Evaluarea unei expresii Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <iostream>
#include <cstdio>
#include <cstring>

using namespace std;
char *s;
int e(char * &s,int l=0,int v=0){if(l==2){if(*s=='('){++s;int r=e(s);++s;return r;}else if(*s>='0'&&*s<='9'){int r=v*10+(*s)-'0';return e(++s,2,r);}else return v;}else if(l==1){int r=e(s,2);while(1){if(*s=='*')r*=e(++s,2);else if(*s=='/')r/=e(++s,2);else return r;}}else{int v=e(s,1);while(1){if(*s=='+')v+=e(++s,1);else if(*s=='-')v-=e(++s,1);else return v;}}}
int main() {
    s = new char[150];
    scanf("%s", s);
    s[strlen(s)]=0;
    cout << e(s);
}