Pagini recente » Cod sursa (job #2555594) | Cod sursa (job #791065) | Cod sursa (job #2410465) | Cod sursa (job #974063) | Cod sursa (job #1846582)
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
ifstream f("evaluare.in");
ofstream g("evaluare.out");
int n,i,k,aux,nr,nr2,s1,nr3,nr4,s2,aux2;
char s[100001],*p=s,x,x2,x3,x4;
long termen();
long factor();
long eval ()
{
long r=termen();
while(p)if(*p=='+' or *p=='-')
if(*p=='+') {p++;r=r+termen();}
else {p++;r=r-termen();}
return r;
// cout<<r;
}
long termen()
{
long r=factor();
while(*p=='*' or *p=='/')
if(*p=='*') {p++;r=r*factor();}
else{p++;r=r/factor();}
return r;
}
long factor()
{
long r=0;
if(*p=='(' )
{
p++;
r=eval();
p++;
}
else while(*p>='0' && *p<='9')
{r=r*10+*p-48;
p++;
cout<<*p<<" ";}
cout<<r<<" ";
return r;
}
int main()
{
f.getline(s,100001);
g<<eval();
}