Загрузка...

Сортировании переменных (для четных и нечетных чисел)

Тема в разделе C/C++ создана пользователем Shadie_inactive2979844 31 окт 2020. 215 просмотров

  1. Shadie_inactive2979844
    Shadie_inactive2979844 Автор темы 31 окт 2020 Заблокирован(а) 39 9 фев 2020
    Нужно отсортировать 4 переменных, которые задает пользователь. Четные числа должны быть от меньшего к большему, а не четные от больлего к меньшему. Я пробывал через if,else if, else проверить все возможные варианты каждой переменной и записать итог. В целом у меня почтм вышло, оно работает, но в конце выдает не те значения. Где ошибка я не знаю, но в любом случае "перебирать" все значения это очень запутанно и должен быть путь проще. Подскажите пожалуйста (если массивы, то объясните пожалуйста как, поскольку их еще не учили).
     
  2. artmfdg
    artmfdg 2 ноя 2020 113 17 янв 2019
    /////////////////////////////////////////////////////////////////////////////////////////
    Код

    #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 минут, всё работает как надо
     
    2 ноя 2020 Изменено
  3. Shadie_inactive2979844
    Shadie_inactive2979844 Автор темы 2 ноя 2020 Заблокирован(а) 39 9 фев 2020
    Забыл написать, я сам все исправил. Тем, кто пытался помочь спасибо
     
Загрузка...
Top