Cod sursa(job #337316)

Utilizator pykhNeagoe Alexandru pykh Data 3 august 2009 12:57:20
Problema Evaluarea unei expresii Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include<stdio.h>
#define N 100005

char v[N], *p=v;
const char in[]="evaluare.in";
const char out[]="evaluare.out";
int b();
int c();
int a()
	{
	int x=b();
		while(*p=='+' || *p=='-')
			if(*p=='+')++p, x+=b();
			else ++p, x-=b();
	return x;
		}

int b()
	{
	int x=c();
		while(*p=='*' || *p=='/')
		if(*p=='*') ++p, x*=c();
		else ++p, x/=c();
	return x;
		}
		
int c()
	{
	int nr=0;
		if(*p=='(')++p,nr=a(), ++p;
		else while(*p>='0' && *p<='9')
				{nr=nr*10+*p-'0';
				++p;}
	return nr;
	}

int main()
	{
		freopen(in,"r",stdin);
		freopen(out,"w",stdout);
		scanf("%s",v);
		printf("%d\n",a());
		return 0;
		}