Nu aveti permisiuni pentru a descarca fisierul grader_test21.ok

Cod sursa(job #2287883)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 22 noiembrie 2018 17:03:03
Problema Evaluarea unei expresii Scor 100
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include<stdio.h>
#include<string.h>
char s[100000];
int i;
int E(int l) {
    int x,y;
    if(l==2)
        if(s[i]=='(')
            i++,x=E(0),i++;
        else
            for(x=0;s[i]>='0'&&s[i]<='9';i++)
                x=x*10+s[i]-'0';
    else
        for(x=E(l+1);strchr(!l?"+-":"*/",s[i]);x=y)
            if(s[i]=='+')
                i++,y=x+E(l+1);
            else if(s[i]=='-')
                i++,y=x-E(l+1);
            else if(s[i]=='*')
                i++,y=x*E(l+1);
            else if(s[i]=='/')
                i++,y=x/E(l+1);
    return x;
}
int main() {
    fgets(s,100000,fopen("evaluare.in","r"));
    fprintf(fopen("evaluare.out","w"),"%d",E(0));
}