Cod sursa(job #3253223)

Utilizator DasapSapunaru Daniel Dasap Data 2 noiembrie 2024 01:19:33
Problema Evaluarea unei expresii Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <iostream>
#include<fstream>
using namespace std;ifstream fin("evaluare.in");ofstream fout("evaluare.out");
char v[100010],*p=v;
long termen();
long factor();
long eval(){long r=termen();
while(*p=='+'||*p=='-'){
    if(*p=='+'){p++;r+=termen();}
    else{p++;r-=termen();}}
return r;}
long termen(){long r=factor();
while(*p=='*'||*p=='/'){
    if(*p=='*'){p++;r*=factor();}
    else{p++;r/=factor();}}
return r;}
long factor(){long r=0;
if(*p=='('){p++;r=eval();p++;}
else while(*p>='0'&&*p<='9'){r=r*10+*p-'0';p++;}
return r;}
int main()
{fin.getline(v,100001,'\n');
fout<<eval();
    return 0;
}