Pagini recente » Cod sursa (job #547181) | Cod sursa (job #552149) | Cod sursa (job #1208770) | Cod sursa (job #2497280) | Cod sursa (job #1572748)
#include <bits/stdc++.h>
using namespace std;
ifstream in("evaluare.in");
ofstream out("evaluare.out");
typedef long long int var;
const int Nmax=1e5+5;
char s[Nmax],*p=s;
var Adunare();
var Inmultire();
var Valuare();
var Adunare(){
var x = Inmultire();
while(*p == '+' || *p == '-')
{
if(*p=='+')
p++, x+=Inmultire();
else
p++, x-=Inmultire();
}
return x;
}
var Inmultire(){
var x = Valuare();
while(*p == '*' || *p=='/')
{
if(*p == '*')
p++,x*=Valuare();
else
p++,x/=Valuare();
}
return x;
}
var Valuare(){
var x =0;
if(*p == '(')
{ p++;
x=Adunare();
p++;
}
if(isdigit(*p))
{
for(;isdigit(*p);p++)
x=x*10 + (*p -'0');
}
return x;
}
int main()
{
in>>s;
out<<Adunare();
return 0;
}