Pagini recente » Cod sursa (job #3159910) | Cod sursa (job #2989913) | Cod sursa (job #3033576) | Cod sursa (job #3232318) | Cod sursa (job #1117462)
#include <iostream>
#include <fstream>
using namespace std;
char s[100010], *p;
ifstream f ("evaluare.in");
ofstream g ("evaluare.out");
int suma();
int numar()
{
int ret=0;
while(*p>='0' && *p<='9')
{
ret = ret * 10 + *p - '0';
p++;
}
return ret;
}
int par(){
int ret;
if (*p=='(')
{
p++;
ret=suma();
p++;
return ret;
}
return numar();
}
int produs(){
int ret = par();
while(*p=='*' || *p=='/'){
if(*p=='*'){
p++;
ret = ret * par();}
else{
p++;
ret = ret / par();
}
}
return ret;
}
int suma(){
int ret = produs();
while(*p=='+' || *p=='-'){
if(*p=='+'){
p++;
ret = ret + produs();}
else{
p++;
ret = ret - produs();
}
}
return ret;
}
int main()
{
f>>s;
p=s;
g<<suma();
return 0;
}