Cod sursa(job #3262461)

Utilizator Hutanu_AndreiHutanu Andrei Leontin Hutanu_Andrei Data 10 decembrie 2024 11:25:41
Problema Evaluarea unei expresii Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.78 kb
#include <iostream>
#include <fstream>
#include <stack>
#include <string>
#include <cstring>
#include <map>
#include <vector>
using namespace std;

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

map<char, int> prioritateOper;
stack<char> oper;

string ecuatieInit;

vector<string> ec;
string bufferNr;

int main() {
    prioritateOper['*'] = prioritateOper['/'] = 3;
    prioritateOper['+'] = prioritateOper['-'] = 2;

    in >> ecuatieInit;

    for(char i : ecuatieInit) {
        if(isdigit(i)) {
            bufferNr.push_back(i);
        } else if(strchr("/*+-()", i)) {
            if(!bufferNr.empty()) ec.push_back(bufferNr);
            bufferNr = "";
            ec.push_back(string(1, i));
        }
    }
    for(auto i : ec) cout << i;
}