Нужно отсортировать 4 переменных, которые задает пользователь. Четные числа должны быть от меньшего к большему, а не четные от больлего к меньшему. Я пробывал через if,else if, else проверить все возможные варианты каждой переменной и записать итог. В целом у меня почтм вышло, оно работает, но в конце выдает не те значения. Где ошибка я не знаю, но в любом случае "перебирать" все значения это очень запутанно и должен быть путь проще. Подскажите пожалуйста (если массивы, то объясните пожалуйста как, поскольку их еще не учили).
///////////////////////////////////////////////////////////////////////////////////////// #include <iostream> #include <vector> #include <algorithm> std::vector<int> lolsort (std::vector<int> sorts) { std::vector<int> chetnie; std::vector<int> nechetnie; for (auto el : sorts) { if (el % 2 == 0) { chetnie.push_back(el); } else { nechetnie.push_back(el); } } std::sort(chetnie.begin(), chetnie.end()); std::sort(nechetnie.begin(), nechetnie.end(), [](int a,int b) { return a > b; }); chetnie.insert(chetnie.end(), nechetnie.begin(), nechetnie.end()); return chetnie; } int main() { std::vector<int> unsortedvalues = { 3,7,2,6 }; std::vector<int> sortedvalues = lolsort(unsortedvalues); for (auto el : sortedvalues) { std::cout << el << std::endl; } system("pause"); return 0; } Code #include <iostream> #include <vector> #include <algorithm> std::vector<int> lolsort (std::vector<int> sorts) { std::vector<int> chetnie; std::vector<int> nechetnie; for (auto el : sorts) { if (el % 2 == 0) { chetnie.push_back(el); } else { nechetnie.push_back(el); } } std::sort(chetnie.begin(), chetnie.end()); std::sort(nechetnie.begin(), nechetnie.end(), [](int a,int b) { return a > b; }); chetnie.insert(chetnie.end(), nechetnie.begin(), nechetnie.end()); return chetnie; } int main() { std::vector<int> unsortedvalues = { 3,7,2,6 }; std::vector<int> sortedvalues = lolsort(unsortedvalues); for (auto el : sortedvalues) { std::cout << el << std::endl; } system("pause"); return 0; } ///////////////////////////////////////////// на коленке набросал за 10 минут, всё работает как надо