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

Не нарушая порядка следования нужно расположить в начале массива все четные числа а затем нечетные - C++

Восстановить пароль Регистрация
 
Стас71
0 / 0 / 0
Регистрация: 20.11.2013
Сообщений: 11
20.11.2013, 12:02     Не нарушая порядка следования нужно расположить в начале массива все четные числа а затем нечетные #1
Помогите пожалуйста с написанием программы. Не нарушая порядка следования нужно расположить в начале массива все четные числа а затем нечетные. И еще будет просьба, сделать как то попроще, на уровне дилетанта, а то не пойму боюсь, заранее спасибо, с уважением Стас!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2013, 12:02     Не нарушая порядка следования нужно расположить в начале массива все четные числа а затем нечетные
Посмотрите здесь:

Вывести все четные и нечетные числа массива C++
Из массива JJ(100) в массив NN(100) перенести числа (элементы массива) сначала нечетные, а затем четные. C++
Вывести сначала все нечетные элементы массива, а затем - четные C++
C++ Дается n чисел, нужно вывести сначала все нечетные а затем все четные (найти ошибку)
C++ Дан одномерный массив А, состоящий из N элементов. Перенести в начало массива все четные элементы, а в конец массива - все нечетные
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
bradobrei
Продам уран 238U
 Аватар для bradobrei
119 / 119 / 23
Регистрация: 22.01.2013
Сообщений: 298
20.11.2013, 12:42     Не нарушая порядка следования нужно расположить в начале массива все четные числа а затем нечетные #2
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
#include <iostream>
#include <cstdlib>
using namespace std;
# define n 10
int main(){
    int a[n], b[n], c[n];
    int q = 0, w = 0;
        cout<<"Before : ";
    for(int i = 0; i < n; i++){
        a[i] = rand()% 100 + 1;
        cout<<a[i]<<" ";
        if(a[i]%2 == 0){
            b[q] = a[i];
            q++;
        }
        else {
            c[w] = a[i];
            w ++;
        }
    }
        for(int i = q+1, j = 0; i < n, j < w ; i++, j++){
            b[i] = c[j];
        }
        cout<<endl<<"After: ";
        for(int i = 0; i < n; i++){
        cout<<b[i]<<" ";
    }
return 0;
}
Стас71
0 / 0 / 0
Регистрация: 20.11.2013
Сообщений: 11
20.11.2013, 15:25  [ТС]     Не нарушая порядка следования нужно расположить в начале массива все четные числа а затем нечетные #3
Большое спасибо!
Somebody
2770 / 1583 / 141
Регистрация: 03.12.2007
Сообщений: 4,139
Завершенные тесты: 1
20.11.2013, 16:37     Не нарушая порядка следования нужно расположить в начале массива все четные числа а затем нечетные #4
C++
1
std::stable_partition(std::begin(a), std::end(a), [](int x){ return x % 2 == 0; });
Yandex
Объявления
20.11.2013, 16:37     Не нарушая порядка следования нужно расположить в начале массива все четные числа а затем нечетные
Ответ Создать тему
Опции темы

Текущее время: 13:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru