Cod sursa(job #1510789)

Utilizator Bogdan1999Draghici Bogdan Bogdan1999 Data 25 octombrie 2015 16:53:50
Problema Evaluarea unei expresii Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.91 kb
#include <fstream>
#include <cstring>

using namespace std;

ifstream fin("evaluare.in");
ofstream out("evaluare.out");

int index=0;
int r=0;
char s[256];

int unul();
int doi();
int trei();

int trei(){
r=doi();
while(s[index]=='+' or s[index]=='-'){
    if(s[index]=='+'){
        ++index;
        r=r+doi();
    }
    if(s[index]=='-'){
        ++index;
        r=r-doi();
    }
}
return r;
}

int doi(){
r=unul();
while(s[index]=='*' or s[index]=='/'){
    if(s[index]=='*'){
        ++index;
        r=r*unul();
    }
    if(s[index]=='/'){
        ++index;
        r=r/unul();
    }
}
return r;
}

int unul(){
int r=0;
if(s[index]=='('){
    index++;
    r = trei();
    index++;
   }
   else{
    while(s[index]>='0' and s[index]<='9'){
        r=r*10+s[index]-'0';
        index++;
    }
   }
   return r;
}



int main(){
fin.get(s, 256);
out<<trei();
}