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

Переделать массив таким образом, в первой половине располагались элементы, стоящие на четных позициях, а во второй половине - элементы в нечетных - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
Vovanich13
1 / 1 / 0
Регистрация: 27.01.2014
Сообщений: 91
03.02.2014, 21:52     Переделать массив таким образом, в первой половине располагались элементы, стоящие на четных позициях, а во второй половине - элементы в нечетных #1
Превратить массив таким образом, чтобы в первой половине располагались
элементы, стоящие на четных позициях, а во второй половине - элементы,
стоят в нечетных позициях.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.02.2014, 21:52     Переделать массив таким образом, в первой половине располагались элементы, стоящие на четных позициях, а во второй половине - элементы в нечетных
Посмотрите здесь:

C++ Преобразовать массив, поместив в начало элементы, стоявшие в чётных позициях, а в конец — стоявшие в нечётных
Преобразовать массив таким образом, чтобы в его первой половине расположились элементы, стоящие в четных позициях C++
C++ Превратить массив так, чтобы в его первой половине располагались элементы стоящие в четных позициях а во второй половине - нечетные
Упорядочить элементы массива, располагая в первой его половине элементы, стоявшие на четных позициях C++
C++ Выполнить реверс отдельно в первой половине и второй половине массива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Raily
 Аватар для Raily
3 / 3 / 1
Регистрация: 31.01.2014
Сообщений: 34
03.02.2014, 22:38     Переделать массив таким образом, в первой половине располагались элементы, стоящие на четных позициях, а во второй половине - элементы в нечетных #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
30
31
32
33
34
35
36
37
#include <iostream>
using namespace std;
int main()
{
int  V[10], i, A[10], a, j, k, p ;
char ch;
 
a:
cout <<"Vvedite masiv ";  //Ввод масива
for(i = 0; i < 10; i++)
{
    cin >> a;
    V[i] = a;
}
j = k = 0;
for(i = 0; i < 10; i++)  //Переставляем нечетные цифры
{
 p = i % 2;
  if(p == 0)
  {
  A[j] = V[i];
  j++;
  k++;
  V[i]=0;
}
}
for(i = 0; i < 10; i++)  //Переставляем четные цифры
{
if(V[i] != 0)
{
A[k] = V[i]; 
k++;
}
}
for(i = 0; i < 10; i++)cout << A[i]<<" "; //Выводим
return 0;
}
Сначала нужно ввести массив (через 'энтер' или 'пробел')
вроде так, но в конце еще точку останова или ввод какой-то.
(ВОПРОС): для чего тебе эта прога?
Vovanich13
1 / 1 / 0
Регистрация: 27.01.2014
Сообщений: 91
03.02.2014, 23:03  [ТС]     Переделать массив таким образом, в первой половине располагались элементы, стоящие на четных позициях, а во второй половине - элементы в нечетных #3
Raily, на лабораторную работу, спасибо!
Raily
 Аватар для Raily
3 / 3 / 1
Регистрация: 31.01.2014
Сообщений: 34
03.02.2014, 23:13     Переделать массив таким образом, в первой половине располагались элементы, стоящие на четных позициях, а во второй половине - элементы в нечетных #4
Хоть правильно?
И где ты учишься , в каком ВУЗЕ?(я просто думаю куда поступать)
vovacreme
-16 / 61 / 13
Регистрация: 14.01.2014
Сообщений: 145
03.02.2014, 23:54     Переделать массив таким образом, в первой половине располагались элементы, стоящие на четных позициях, а во второй половине - элементы в нечетных #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <deque>
#include <ctime>
#include <iterator>
#include <algorithm>
using namespace std;
 
int main()
{
    srand(time(0));
    size_t SIZE = 5;
    deque<int> d, d1;
    generate_n(back_inserter(d), SIZE, [](){ return rand() % 20 - 10; });
    copy(d.begin(), d.end(), ostream_iterator<int>(cout, " "));
    cout << endl;
    for (deque<int>::size_type i = 0; i != d.size(); ++i)
        !(i % 2) ? d1.push_back(d.at(i)) : d1.push_front(d.at(i));
    reverse(d1.begin(), d1.begin() + d1.size() / 2);
    copy(d1.begin(), d1.end(), ostream_iterator<int>(cout, " "));
    cout << endl;
    system("pause");
}
Yandex
Объявления
03.02.2014, 23:54     Переделать массив таким образом, в первой половине располагались элементы, стоящие на четных позициях, а во второй половине - элементы в нечетных
Ответ Создать тему
Опции темы

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