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

Поменять местами первую и вторую половину массива. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Удалить из массива все элементы встречающиеся менее 3-х раз и вывести размер полученного массива и его содержимое. http://www.cyberforum.ru/cpp-beginners/thread102352.html
Помогите пожалуйста решить задачу!!!!!! Дан целочисленный массив размера n. Удалить из массива все элементы встречающиеся менее 3-х раз и вывести размер полученного массива и его содержимое.
C++ Лифт В небоскребе N этажей и всего один подъезд; на каждом этаже по три квартиры; лифт может останавливаться только на нечетных этажах. Человек садится в лифт и набирает номер нужной ему квартиры М. На... http://www.cyberforum.ru/cpp-beginners/thread102351.html
Определить номер первого из столбцов матрицы, содержащих хотя бы один нулевой элемент C++
1)Дана целочисленная прямоугольная матрица, определить номер первого из столбцов , содержащих хотя бы один нулевой элемент. 2)Характеристикой строки целочисленной матрицы назовем сумму её...
Подсчитать количество отрицательных чисел среди чисел m, n, p. C++
Подсчитать количество отрицательных чисел среди чисел m, n, p в си++ Тема лабы-Разветвляющие алгоритмы
C++ писать прогу без компилятора? http://www.cyberforum.ru/cpp-beginners/thread102290.html
как сделать?с помощью нотпада
C++ Указатель на потомка в базовом классе. Мне нужно создать в базовом классе массив указателей на потомки этого класса. Помогите - как это сделать? подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
5775 / 3425 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
08.03.2010, 17:39
Цитата Сообщение от Лена18 Посмотреть сообщение
1) Дан массив размера n. Поменять местами первую и вторую половину массива.
Работает для массивов с четным и нечетным числом элементов (для нечетного числа элементов первая половина на единицу больше второй):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
int main()
{
    const size_t n=7;
    const size_t mid=n/2;
    int arr[n]={1, 2, 3, 4, 5, 6, 7};
    int temp[n-mid];
    std::copy(arr, arr+n-mid, temp);
    std::copy(arr+n-mid, arr+n, arr);
    std::copy(temp, temp+n-mid, arr+mid);
 
    for(size_t i=0; i<n; ++i, std::cout << std::endl)
        std::cout << arr[i];
    system("pause");
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru