Pagini recente » Cod sursa (job #2304853) | Cod sursa (job #512942) | Cod sursa (job #3186354) | Cod sursa (job #1335729) | 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;
}