Cod sursa(job #754132)

Utilizator danalex97Dan H Alexandru danalex97 Data 31 mai 2012 20:25:31
Problema Evaluarea unei expresii Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <cstdio>
#include <cstring>
using namespace std;

#define Dmax 100021

char s[Dmax];
int x;

int e();int f(){int n,R,S,o,T;o=T=R=S=1;while(T){S=1;n=0;if(s[x]=='-')S=-S,++x;else if(s[x]=='+')++x;if(s[x]=='(')x++,n=e();else for(;'0'<=s[x]&&s[x]<='9';n=n*10+s[x++]-48);if(o)R*=S*n;else if(n)R/=n;else R=0;if(s[x]=='/')o=0,x++;else if(s[x]=='*')o=1,x++;else T=0;}return R;}int e(){int S=0;while(s[x]!=')')S+=f();++x;return S;}         

int main()
{
	freopen("euare.in","r",stdin);
	freopen("euare.out","w",stdout);

	scanf("%s",s);
	s[strlen(s)]=')';
	
	print("%d", e() );
}