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

Переставить элементы массива по правилу - C++

Восстановить пароль Регистрация
 
artem12
0 / 0 / 0
Регистрация: 19.05.2011
Сообщений: 17
19.05.2011, 22:18     Переставить элементы массива по правилу #1
Помогите, пожалуйста, как решить эти 3 задачи, незнаю, как решать.Буду очень благодарен.
Вот задание на одномерный массив

Программа, которая:
a. запрашивает необходимые данные в main,
b. передает входные данные в соответствующую функцию,
c. результат выводится из main.
А вот сама задача.
1. Дан одномерный массив В, состоящий из 2n элементов. Переставить его элементы по следующему правилу: b[2n], b[2n-1],..., b[n+1], b[1], b[2],..., b[n].
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2011, 22:18     Переставить элементы массива по правилу
Посмотрите здесь:

Переставить первый и последний элемент массива C++
C++ Одномерный массив. Переставить его элементы по следующему правилу
C++ Дан одномерный массив В, состоящий из 2n элементов. Переставить его элементы по следующему правилу: b[1], b[n+1], b[2], b[n+2],., b[n], b[2n]
Переставить соседние элементы массива C++
C++ Переставить четвертый элемент массива на последнее место, сдвигая элементы массива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ma3a
Эксперт C++
612 / 456 / 31
Регистрация: 28.01.2011
Сообщений: 605
19.05.2011, 23:10     Переставить элементы массива по правилу #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
#include <iostream>
#include <algorithm>
#include <iterator>
 
struct input
    {
    void operator() (int & i)
        {
        std::cin >> i;
        }
    };
 
void func(int * arr, int n)
    {
    for(std::size_t i = 0; i < n; ++i)
        {
        std::swap(arr[i],arr[2 * n - i - 1]);
        }
    }
 
int main()
    {
    int n;
    int * B;
 
    std::cin >> n;
 
    B = new int[2 * n];
    std::for_each(B, B + 2 * n,input());
 
    func(B,n);
 
    std::copy(B,B + 2 * n,std::ostream_iterator<int>(std::cout, " "));
 
    delete [] arr;
    }
Добавлено через 1 минуту
немного задание не доглядел, переставил не так как нужно.
artem12
0 / 0 / 0
Регистрация: 19.05.2011
Сообщений: 17
19.05.2011, 23:11  [ТС]     Переставить элементы массива по правилу #3
ты переправь пожалуйста,и отправь сейчас,пожалуйста
Ma3a
Эксперт C++
612 / 456 / 31
Регистрация: 28.01.2011
Сообщений: 605
19.05.2011, 23:14     Переставить элементы массива по правилу #4
C++
1
2
3
4
5
6
7
8
9
void func(int * arr, int n)
    {
    int * temp = new int[n];
    std::copy(arr,arr + n,temp);
    std::copy(arr + n, arr + 2 * n, arr);
    std::reverse(arr,arr + n);
    std::copy(temp, temp + n,arr + n );
    delete [] temp;
    }
artem12
0 / 0 / 0
Регистрация: 19.05.2011
Сообщений: 17
19.05.2011, 23:16  [ТС]     Переставить элементы массива по правилу #5
После какой строчки это надо вставить?
Ma3a
Эксперт C++
612 / 456 / 31
Регистрация: 28.01.2011
Сообщений: 605
19.05.2011, 23:17     Переставить элементы массива по правилу #6
Это функцию func на это заменить.
artem12
0 / 0 / 0
Регистрация: 19.05.2011
Сообщений: 17
19.05.2011, 23:18  [ТС]     Переставить элементы массива по правилу #7
Всё понял.спасибо большое.А на двумерные массивы знаешь что-нибудь???Подскажи пожалуууйста!!!!!
Ma3a
Эксперт C++
612 / 456 / 31
Регистрация: 28.01.2011
Сообщений: 605
19.05.2011, 23:20     Переставить элементы массива по правилу #8
Что-нибудь да знаю, конечно
Вы изначально задавали вопрос про одномерный массив, так что я не имею понятия, что вы имеете ввиду.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.05.2011, 23:21     Переставить элементы массива по правилу
Еще ссылки по теме:

Переставить элемент массива на последнее место, сдвигая элементы массива C++
C++ Переставить соседние элементы массива
C++ Переставить соседние элементы массива

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
artem12
0 / 0 / 0
Регистрация: 19.05.2011
Сообщений: 17
19.05.2011, 23:21  [ТС]     Переставить элементы массива по правилу #9
Ну там другая тема тоже есть.про двумерные массивы!!!!1Но всё равно большое спасибо!!!!!
Yandex
Объявления
19.05.2011, 23:21     Переставить элементы массива по правилу
Ответ Создать тему
Опции темы

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