Pagini recente » Cod sursa (job #728759) | Cod sursa (job #2512227) | Cod sursa (job #1677695) | Cod sursa (job #745601) | Cod sursa (job #1077003)
#include <cstdio>
#include <cstring>
using namespace std;
FILE *f=fopen ("evaluare.in","r");
FILE *g=fopen ("evaluare.out","w");
char s[100005], *r=s;
int inm(), val();
int pmns(){
int ret=inm();
while (*r=='-' || *r=='+'){
if (*r=='+'){
r++;
ret+=inm();
}
else{
r++;
ret-=inm();
}
inm();
}
return ret;
}
int inm(){
int ret=val();
while (*r=='*' || *r=='/'){
if (*r=='*'){
r++;
ret*=val();
}
if (*r=='/'){
r++;
ret/=val();
}
val();
}
return ret;
}
int val(){
int ret=0;
if (*r=='('){
r++;
ret=pmns();
r++;
}
else{
while (*r>='0' && *r<='9'){
ret=ret*10+(*r-'0');
r++;
}
}
return ret;
}
int main(){
int lg;
fscanf (f,"%s",s);
lg=strlen(s);
fprintf (g,"%d",pmns());
return 0;
}