Pagini recente » Borderou de evaluare (job #3012521) | Borderou de evaluare (job #2665297) | Borderou de evaluare (job #2506834) | Borderou de evaluare (job #621127) | Cod sursa (job #3340155)
/******************************************************************************
Online C++ Compiler.
Code, Compile, Run and Debug C++ program online.
Write your code in this editor and press "Run" button to compile and execute it.
*******************************************************************************/
#include <iostream>
#include <fstream>
#include <cstring>
#define Max 100005
using namespace std;
ifstream fin("evaluare.in");
ofstream fout("evaluare.out");
char s[Max],*p=s;
int eval();
int factor()
{
int r=0;
if(*p=='(')
{
p++;
r=eval();
p++;
}
else
{
while(isdigit(*p))
{
r=r*10+*p-'0';
p++;
}
}
return r;
}
int termen()
{
int r=factor();
while(*p=='*' || *p=='/')
{
if(*p=='*')
{
++p;
r*=factor();
}
if(*p=='/')
{
++p;
r/=factor();
}
}
return r;
}
int eval()
{
int r=termen();
while(*p=='+' || *p=='-')
{
if(*p=='+')
{
++p;
r+=termen();
}
if(*p=='-')
{
++p;
r-=termen();
}
}
return r;
}
int main()
{
fin>>s;
fout<<eval();
return 0;
}