Pagini recente » Cod sursa (job #433303) | Cod sursa (job #2680908) | Cod sursa (job #968227) | Cod sursa (job #139902) | Cod sursa (job #3262461)
#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;
}