Форум программистов, компьютерный форум CyberForum.ru

Сортировка четных, а затем нечетных элементов массива по возрастанию - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как сделать, чтобы при запуске проги с параметрами, вызывался пункт меню соответствующий введенному параметру? http://www.cyberforum.ru/cpp-beginners/thread1810504.html
Добрый день. есть простая консольная прога с меню. хочу, чтобы при запуске проги с параметрами вызывался пункт меню соответствующий введенному параметру. почему то при запуске с параметром попадаю в само меню а не в пункт. Код (упрощённый): #include <iostream> using namespace std; int main(int argc, char *argv) { cout << "Выберите действие:\n1. действие 1\n2. действие 2\n3. действие...
C++ Удалить в матрице строки, содержащие отрицательные элементы Дана матрица 5х4. Удалить в ней строки, содержащие отрицательные элементы. http://www.cyberforum.ru/cpp-beginners/thread1810494.html
Определить количество столбцов матрицы, содержащих нуль C++
Дана матрица 5х4. - Определить количество стобцов, содержащих нуль.
C++ Сортировка методом выбора
Здравствуйте! Подскажите пожалуйста как сортировкой методом выбора посчитать количество обменов первого элемента?
C++ Объясните пожалуйста работу кода http://www.cyberforum.ru/cpp-beginners/thread1810462.html
#include <iostream> struct A{ int data; int data2; }; int main(int argc, const char * argv) {
C++ Сложение в столбик Даны два целых числа — двузначное число aa и однозначное число bb, причем первое задается двумя цифрами: a1a1 — числом единиц, и a2a2 — числом десятков. Требуется получить цифры числа, равного сумме aa и bb (известно, что число (a+b)(a+b) двузначное). При решении задачи нельзя вычислять числа aa и (a+b)(a+b). Формат входных данных Вводятся три целых числа a2a2, a1a1 и bb... подробнее

Показать сообщение отдельно
Punya
 Аватар для Punya
8 / 8 / 4
Регистрация: 05.10.2015
Сообщений: 20
Завершенные тесты: 1
20.09.2016, 13:15     Сортировка четных, а затем нечетных элементов массива по возрастанию
Как вариант, вот :

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <iostream>
#include <cstdlib>
#include <algorithm>
#include <array>
#include <time.h>
 
 
 
int main(int argc, char *argv[])
{
    std::srand(time(NULL));
 
    const int size = 10;
    std::array<int, size> array;
 
    for(int i = 0; i < size; ++i)
    {
        array[i] = rand() % 100;
        std::cout << array[i] <<' ';
    }
    std::cout << '\n';
 
    int countEven = 0;
    int forwardID = 0;
    int backwardID = size-1;
 
    while(forwardID < backwardID)
    {
        while(array[forwardID] %2 ==0 && forwardID < backwardID)
        {
            ++countEven;
            ++forwardID;
        }
        while(array[backwardID] % 2 != 0 && forwardID < backwardID)
        {
        --backwardID;
        }
 
        std::swap(array[forwardID], array[backwardID]);
    }
 
    std::stable_sort(array.begin(), array.begin()+countEven);
    std::stable_sort(array.begin()+countEven, array.end());
 
    std::for_each(array.begin(), array.end(),[](int i){ std::cout << i << ' ';});
    std::cout << '\n';
 
}
 
Текущее время: 20:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru