Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
artem12
0 / 0 / 0
Регистрация: 19.05.2011
Сообщений: 17
#1

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

19.05.2011, 22:18. Просмотров 356. Ответов 8
Метки нет (Все метки)

Помогите, пожалуйста, как решить эти 3 задачи, незнаю, как решать.Буду очень благодарен.
Вот задание на одномерный массив

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

Одномерный массив. Переставить его элементы по следующему правилу - C++
Дан одномерный массив В, состоящий из 2n элементов. Переставить его элементы по следующему правилу: b, b,..., b, b, b,..., b.

Дан одномерный массив В, состоящий из 2n элементов. Переставить его элементы по следующему правилу: b[1], b[n+1], b[2], b[n+2],., b[n], b[2n] - C++
17. Дан одномерный массив В, состоящий из 2n элементов. Переставить его элементы по следующему правилу: b, b, b, b,..., b, b. можете помочь...

Получить третий массив C[15] по правилу: вначале элементы первого массива, затем элементы второго массива - C++
Даны массивы A, B. Нужно получить третьи массив C состоящий: вначале элементы первого массива, затем элементы второго массива.

Вывести элементы массива в виде таблицы и переставить его элементы местами - C++
Скажите каким образом переставляется двумерный массив ? К примеру : {1,2,3,4,5} мне нужно элементы поменять местами так чтобы последний (5)...

Переставить четвертый элемент массива на последнее место, сдвигая элементы массива - C++
Создать программу в которой нужно : a) Одномерный массив из 8 элементов целого типа в диапазоне ; b) Переставить четвертый элемент...

Не использую доп. элементов массива переставить элементы массива в обратном порядке - C++
Не использую доп. элементов массива переставить элементы массива в обратном порядке Вот что получилось (все нужно сделать с выводом и...

8
Ma3a
Эксперт С++
618 / 462 / 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 минуту
немного задание не доглядел, переставил не так как нужно.
1
artem12
0 / 0 / 0
Регистрация: 19.05.2011
Сообщений: 17
19.05.2011, 23:11  [ТС] #3
ты переправь пожалуйста,и отправь сейчас,пожалуйста
0
Ma3a
Эксперт С++
618 / 462 / 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;
    }
0
artem12
0 / 0 / 0
Регистрация: 19.05.2011
Сообщений: 17
19.05.2011, 23:16  [ТС] #5
После какой строчки это надо вставить?
0
Ma3a
Эксперт С++
618 / 462 / 31
Регистрация: 28.01.2011
Сообщений: 605
19.05.2011, 23:17 #6
Это функцию func на это заменить.
0
artem12
0 / 0 / 0
Регистрация: 19.05.2011
Сообщений: 17
19.05.2011, 23:18  [ТС] #7
Всё понял.спасибо большое.А на двумерные массивы знаешь что-нибудь???Подскажи пожалуууйста!!!!!
0
Ma3a
Эксперт С++
618 / 462 / 31
Регистрация: 28.01.2011
Сообщений: 605
19.05.2011, 23:20 #8
Что-нибудь да знаю, конечно
Вы изначально задавали вопрос про одномерный массив, так что я не имею понятия, что вы имеете ввиду.
0
artem12
0 / 0 / 0
Регистрация: 19.05.2011
Сообщений: 17
19.05.2011, 23:21  [ТС] #9
Ну там другая тема тоже есть.про двумерные массивы!!!!1Но всё равно большое спасибо!!!!!
0
19.05.2011, 23:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.05.2011, 23:21
Привет! Вот еще темы с ответами:

Отрицательные элементы массива А(N) переставить в начало массива и расположить их в порядке возрастания - C++
Привет. Хочу разобраться в использовании функциий. В функции я хочу найти все отррицательные элементы. А потом просто их вывести. ...

Переставить элемент массива на последнее место, сдвигая элементы массива - C++
Переставить четвертый элемент массива на последнее место, сдвигая элементы массива. То есть , выводятся какие-то случайные числа ,...

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

Переставить соседние элементы массива - C++
Доброй ночи всем. Подскажите или намекните как подойти к решению данной задачи. Прошу коды не выкладывать хочу сделать сам. Спасибо...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru