Класс valarray: смещение элементов

Метод shift() выполняет смещение элементов на расстояние n, которое может быть как положительным, так и отрицательным. Метод возвращает копию массива, в котором элементы вышедшие за пределы массива будут удалены, а новые элементы получат значения по умолчанию для типа. Прототип метода:

valarray<_Tp> shift(int n) const;

Пример:

std::valarray<int> arr = {1, 2, 3, 4, 5};
std::valarray<int> arr2(arr.shift(3));
for (int &el : arr2) std::cout << el << ' ';
std::cout << std::endl; // 4 5 0 0 0
std::valarray<int> arr3(arr.shift(-3));
for (int &el : arr3) std::cout << el << ' ';
std::cout << std::endl; // 0 0 0 1 2

Метод cshift() выполняет смещение элементов на расстояние n, которое может быть как положительным, так и отрицательным. Метод возвращает копию массива, в котором элементы вышедшие за пределы массива будут вставлены с другой стороны. Метод как бы вращает элементы внутри массива, при этом не меняя их последовательность. Прототип метода:

valarray<_Tp> cshift(int n) const;

Пример:

std::valarray<int> arr = {1, 2, 3, 4, 5};
std::valarray<int> arr2(arr.cshift(3));
for (int &el : arr2) std::cout << el << ' ';
std::cout << std::endl; // 4 5 1 2 3
std::valarray<int> arr3(arr.cshift(-3));
for (int &el : arr3) std::cout << el << ' ';
std::cout << std::endl; // 3 4 5 1 2

Учебник C++ (MinGW-W64)
Учебник C++ (MinGW-W64) в формате PDF

Помощь сайту

ЮMoney (Yandex-деньги): 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов