Pagini recente » Cod sursa (job #2332413) | Cod sursa (job #1458617) | Cod sursa (job #1184684) | Cod sursa (job #1383120) | Cod sursa (job #2361741)
#include <fstream>
#include <cstring>
#define DIM 100005
using namespace std;
char s[DIM],v[DIM];int i;
int expresie();
int factor() {
int ret=0;
if (s[i]=='(') {
i++;
ret=expresie();
++i;
return ret;
}
while (s[i]>='0' && s[i]<='9') {
ret=ret*10+s[i]-'0';
++i;
}
return ret;
}
int termen() {
int ret=factor();
while (s[i]=='*' || s[i]=='/') {
if (s[i]=='*') {
i++;
ret=ret*factor();
}
else {
i++;
ret=ret/factor();
}
}
return ret;
}
int expresie() {
int ret=termen();
while (s[i]=='+' || s[i]=='-') {
if (s[i]=='+') {
i++;
ret+=termen();
}
else {
i++;
ret-=termen();
}
}
return ret;
}
int main()
{
ifstream f("evaluare.in");
ofstream g("evaluare.out");
f.get(s,DIM);f.get();
g<<expresie();
return 0;
}