Pagini recente » Cod sursa (job #444403) | Cod sursa (job #792167) | Cod sursa (job #2751413) | Cod sursa (job #1916020) | Cod sursa (job #1848706)
#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=='+' 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();
}