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

Сформировать два массива, заключив в каждый четные и нечетные номера исходного массива соответственно - C++

Восстановить пароль Регистрация
 
trailK
1 / 1 / 0
Регистрация: 16.05.2013
Сообщений: 15
04.02.2014, 15:38     Сформировать два массива, заключив в каждый четные и нечетные номера исходного массива соответственно #1
Задан массив с количеством элементов N. Сформируйте два массива: в первый включите элементы исходного массива с четными номерами, а во второй – с нечетными.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2014, 15:38     Сформировать два массива, заключив в каждый четные и нечетные номера исходного массива соответственно
Посмотрите здесь:

сформировать из исходного массива новый, разместив в нем элементы исходного массива, отсортированные по три C++
C++ Четные в начало массива, нечетные - в конец
Даден массив. Все четные елементы массива уменьшыть в два раза, а нечетные увеличить в два раза. C++
Из массива JJ(100) в массив NN(100) перенести числа (элементы массива) сначала нечетные, а затем четные. C++
C++ Сформировать два массива из исходного: в первый записать отрицательные элементы, во второй – остальные
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
04.02.2014, 15:55     Сформировать два массива, заключив в каждый четные и нечетные номера исходного массива соответственно #2
trailK,
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>
#include<ctime>
int main()
{
    size_t arraySize;
    std::cout<<"Input size: ";
    std::cin>>arraySize;
    int *arr = new int [arraySize];
    std::cout<<"\nArray: \n";
    srand(time(NULL));
    size_t CountEvenElements(0),CountNotEvenElements(0);
    for(size_t i =0;i<arraySize;i++){
        std::cout<<(arr[i] = rand()%20 - 5)<<" ";
        arr[i]%2==0?CountEvenElements++:CountNotEvenElements++;
    }
    int *arrEven = new int [CountEvenElements];
    int *arrNotEven = new int [CountNotEvenElements];
    CountEvenElements = 0,CountNotEvenElements = 0;
    for(size_t i=0;i<arraySize;i++)
        arr[i]%2==0?arrEven[CountEvenElements++] = arr[i]:arrNotEven[CountNotEvenElements++] = arr[i];
    std::cout<<"\nevens elements: ";
    for(size_t i=0;i<CountEvenElements;i++)
        std::cout<<arrEven[i]<<" ";
    std::cout<<"\nNot evens elements: ";
    for(size_t i=0;i<CountNotEvenElements;i++)
        std::cout<<arrNotEven[i]<<" ";
    return 0;
}
vovacreme
-16 / 61 / 13
Регистрация: 14.01.2014
Сообщений: 145
04.02.2014, 16:02     Сформировать два массива, заключив в каждый четные и нечетные номера исходного массива соответственно #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<iostream>
#include <vector>
#include <algorithm>
#include <iterator>
using namespace std;
 
int main()
{
    int N = 11;
    vector<int> input, first, second;
    generate_n(back_inserter(input), N, []() { return 10 - rand() % 20; });
    copy(input.begin(), input.end(), ostream_iterator<int>(cout, " "));
    for (vector<int>::size_type i = 0; i < input.size(); ++i)
        !(i % 2) ? first.push_back(input.at(i)) : second.push_back(input.at(i));
    cout << endl;
    copy(first.begin(), first.end(), ostream_iterator<int>(cout, " "));
    cout << endl;
    copy(second.begin(), second.end(), ostream_iterator<int>(cout, " "));
    cout << endl;
    system("pause");
}
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
04.02.2014, 16:27     Сформировать два массива, заключив в каждый четные и нечетные номера исходного массива соответственно #4
Цитата Сообщение от cooller_94 Посмотреть сообщение
C++
1
arr[i]%2==0?CountEvenElements++:CountNotEvenElements++;
а нужно
Цитата Сообщение от trailK Посмотреть сообщение
четными номерами
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
04.02.2014, 16:58     Сформировать два массива, заключив в каждый четные и нечетные номера исходного массива соответственно #5
Цитата Сообщение от Ev[G]eN Посмотреть сообщение
а нужно
Сообщение от trailK
четными номерами
ошибочка вышла, не правильно прочитал. Ну думаю так даже лучше, будет автору над чем подумать
Yandex
Объявления
04.02.2014, 16:58     Сформировать два массива, заключив в каждый четные и нечетные номера исходного массива соответственно
Ответ Создать тему
Опции темы

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