Pagini recente » Cod sursa (job #2943149) | Cod sursa (job #1087559) | Cod sursa (job #1382622) | Cod sursa (job #850594) | Cod sursa (job #2923022)
#include<bits/stdc++.h>
using namespace std;
ifstream f("evaluare.in");
ofstream g("evaluare.out");
string s;
int poz;
int SUM();
int PROD();
int TERMEN();
int SUM()
{
int suma=PROD();
while(s[poz]=='+' || s[poz]=='-')
{
int semn;
if(s[poz]=='+')
semn=1;
else
semn=-1;
poz++;
suma+=(semn*PROD());
}
return suma;
}
int PROD()
{
int suma=TERMEN();
while(s[poz]=='*' || s[poz]=='/')
{
if(s[poz]=='*')
{
poz++;
suma*=TERMEN();
}
else
{
poz++;
suma/=TERMEN();
}
}
return suma;
}
int TERMEN()
{
int nr=0;
if(s[poz]=='(')
{
poz++;
nr+=SUM();
poz++;
}
else
{
while(s[poz]>='0' && s[poz]<='9')
{
nr=nr*10+(s[poz]-'0');
poz++;
}
}
return nr;
}
int main()
{
f>>s;
g<<SUM();
return 0;
}