Pagini recente » Cod sursa (job #1314611) | Cod sursa (job #2121757) | Cod sursa (job #3262399) | Cod sursa (job #380327) | Cod sursa (job #823212)
Cod sursa(job #823212)
#include<fstream>
#define dim 100001
using namespace std;
int n,l;
char a[dim];
int sum();
int nr()
{
int r=0;
while(a[l]>='0'&&a[l]<='9')
{
r=r*10+a[l]-'0';
l++;
}
return r;
}
int fact()
{
int r;
if(a[l]=='(')
{
l++;
r=sum();
l++;
}
else
r=nr();
return r;
}
int termen()
{
int r=fact();
while(a[l]=='*'||a[l]=='/')
{
if(a[l++]=='*')
r*=fact();
else
r/=fact();
}
return r;
}
int sum()
{
int r=termen();
while(a[l]=='+'||a[l]=='-')
{
if(a[l++]=='+')
r+=termen();
else
r-=termen();
}
return r;
}
int main()
{
ifstream f("evaluare.in");
ofstream g("evaluare.out");
f.get(a,dim);
g<<sum();
}