Pagini recente » Cod sursa (job #1265382) | Cod sursa (job #1670967) | Cod sursa (job #427351) | Cod sursa (job #405827) | Cod sursa (job #3157420)
#include <fstream>
using namespace std;
char st[100000];
int i;
int adunare();
int factor()
{
int nr=0;
if(st[i]=='(')
{
i++;
nr=adunare();
i++;
}
else
{
while(st[i]>='0' && st[i]<='9')
{
nr=nr*10+(st[i]-'0');
i++;
}
}
return nr;
}
int inmultire()
{
int rez=factor();
while(st[i]=='*' || st[i]=='/')
{
if(st[i++]=='*')
rez*=factor();
else
rez/=factor();
}
return rez;
}
int adunare()
{
int rez=inmultire();
while(st[i]=='+' || st[i]=='-')
{
if(st[i++]=='+')
rez+=inmultire();
else
rez-=inmultire();
}
return rez;
}
int main()
{
ifstream cin("evaluare.in");
ofstream cout("evaluare.out");
cin.get(st, 100000);
cout<<adunare();
return 0;
}