5. сдвиг (): — Эта функция возвращает новый valarray после сдвига элементов по числу упомянутого в качестве аргумента. Если число положительное , применяется сдвиг влево , если число отрицательное , применяется сдвиг вправо .
6. CSHIFT (): — Эта функция возвращает новый valarray после циркулярно смещения (вращение) элементы по числу упомянутого в качестве аргумента. Если число положительное, применяется сдвиг влево и круг , если число отрицательное, применяется сдвиг влево .
// C ++ код для демонстрации работы
// shift () и cshift ()
#include
#include // for valarray functions
using namespace std;
int main()
{
// Инициализация valarray
valarray varr = { 10, 2, 20, 1, 30 };
// Объявление нового valarray
valarray varr1;
// используя shift () для смещения элементов влево
// сдвигает valarray на 2 позиции
varr1 = varr.shift(2);
// Отображение элементов valarray после сдвига
cout << "The new valarray after shifting is : ";
for ( int&x : varr1) cout << x << " ";
cout << endl;
// использование cshift () для кругового смещения элементов вправо
// вращает valarray на 3 позиции
varr1 = varr.cshift(-3);
// Отображение элементов valarray после кругового смещения
cout << "The new valarray after circular shifting is : ";
for ( int&x : varr1) cout << x << " ";
cout << endl;
return 0;
}
|
Выход:
The new valarray after shifting is : 20 1 30 0 0
The new valarray after circular shifting is : 20 1 30 10 2
7. swap () : — Эта функция меняет один valarray на другой.
// C ++ код для демонстрации работы
// обмен()
#include
#include // for valarray functions
using namespace std;
int main()
{
// Инициализация 1-го valarray
valarray varr1 = {1, 2, 3, 4};
// Инициализация 2-го valarray
valarray varr2 = {2, 4, 6, 8};
// Отображение значений перед перестановкой
cout << "The contents of 1st valarray "
"before swapping are : ";
for (int &x : varr1)
cout << x << " ";
cout << endl;
cout << "The contents of 2nd valarray "
"before swapping are : ";
for (int &x : varr2)
cout << x << " ";
cout << endl;
// Использование swap () для обмена значениями
varr1.swap(varr2);
// Отображение значений после замены
cout << "The contents of 1st valarray "
"after swapping are : ";
for (int &x : varr1)
cout << x << " ";
cout << endl;
cout << "The contents of 2nd valarray "
"after swapping are : ";
for (int &x : varr2)
cout << x << " ";
cout << endl;
return 0;
}
|
Выход:
The contents of 1st valarray before swapping are : 1 2 3 4
The contents of 2nd valarray before swapping are : 2 4 6 8
The contents of 1st valarray after swapping are : 2 4 6 8
The contents of 2nd valarray after swapping are : 1 2 3 4
Do'stlaringiz bilan baham: |