Pagini recente » Cod sursa (job #1741980) | Cod sursa (job #1365169) | Cod sursa (job #2376127) | Cod sursa (job #72982) | Cod sursa (job #1966884)
#include <fstream>
#include <string.h>
using namespace std;
ifstream f("evaluare.in");
ofstream g("evaluare.out");
char v[100020];
int n,i;
int produs();
int numar();
int suma(){
int p=1,s=produs();
while (v[i]=='-'||v[i]=='+'){
if (v[i]=='-') {p=-1;}
else if (v[i]=='+') {p=1;}
i++;
s+=produs()*p;
}
return s;
}
int produs(){
int p=numar();
while (v[i]=='*'||v[i]=='/'){
if (v[i]=='/') {i++;p/=numar();}
else {i++;p*=numar();}
}
return p;
}
int numar(){
int nr=0;
if (v[i]=='(') {i++;nr=suma();i++;}
else{
while (v[i]>='0'&&v[i]<='9'){
nr=nr*10+v[i]-'0';
i++;
}
}
return nr;
}
int main()
{
f.read(v,100010);
n=strlen(v);
g<<suma();
f.close();
g.close();
return 0;
}