Cod sursa(job #3253221)

Utilizator DasapSapunaru Daniel Dasap Data 2 noiembrie 2024 01:11:22
Problema Evaluarea unei expresii Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <iostream>
#include<fstream>
using namespace std;ifstream fin("evaluare.in");ofstream fout("evaluare.out");
char v[100005],*p=v;
long termen();
long factor();
long eval(){long r=termen();
while(*p=='+'||*p=='-'){
    if(*p++=='+')r+=termen();
    else r-=termen();}
return r;}
long termen(){long r=factor();
while(*p=='*'||*p=='/'){
    if(*p++=='*')r*=termen();
    else r/=termen();}
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;
}