Pagini recente » Cod sursa (job #1982376) | Cod sursa (job #1604912) | Cod sursa (job #941187) | Cod sursa (job #2236503) | Cod sursa (job #2109938)
#include <fstream>
#include <cstring>
using namespace std;
ifstream f("evaluare.in");
ofstream g("evaluare.out");
char s[100002];
int n, x;
int inmimp();
int paranteze();
int adunscad()
{
int y=inmimp();
while(s[x]=='+' || s[x]=='-')
{
switch(s[x])
{
case '+':
{
x++;
y+=inmimp();
break;
}
case '-':
{
x++;
y-=inmimp();
break;
}
}
}
return y;
}
int inmimp()
{
int y=paranteze();
while(s[x]=='*' || s[x]=='/')
{
switch(s[x])
{
case '*':
{
x++;
y*=inmimp();
break;
}
case '/':
{
x++;
y/=inmimp();
}
}
}
return y;
}
int paranteze()
{
int y=0;
if(s[x]=='(')
{
x++;
y=adunscad();
x++;
}
else
while(s[x]>='0' && s[x]<='9')
{
y=y*10+s[x]-48;
x++;
}
return y;
}
int main()
{
f.getline(s, 100002);
n=strlen(s);
g<<adunscad();
return 0;
}