Pagini recente » Cod sursa (job #645170) | Cod sursa (job #1923191) | Cod sursa (job #2928701) | Cod sursa (job #1161359) | 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;
}