Лабораторная работа. Численные классы цель работы: Изучить численных классов и разработка алгоритмов выполнения задач с этими списками. Поставленная задача


std::slice (Valarray slice selector)



Download 48,85 Kb.
bet5/14
Sana12.07.2022
Hajmi48,85 Kb.
#783564
TuriЛабораторная работа
1   2   3   4   5   6   7   8   9   ...   14
3. Численный класс slice и gslice

std::slice (Valarray slice selector)


Селектор Valarray: этот класс представляет селектор Valarray. Он не содержит и не ссылается на какой-либо элемент - он описывает только выбор элементов, которые будут использоваться в качестве индекса в valarray :: operator [] .
std :: slice - это класс селектора, который идентифицирует подмножество std :: valarray. Объект типа std :: slice содержит три значения: начальный индекс, шаг и общее количество значений в подмножестве. Объекты типа std :: slice могут использоваться как индексы с оператором valarray [].
class slice;
Проще говоря, он используется для нарезки на основе индекса. Срез valarray определяется начальным индексом, размером и шагом.
Синтаксис:


slice( std::size_t start, std::size_t size, std::size_t stride );
size_t star : is the index of the first element in the selection
size_t size : is the number of elements in the selection
stride : is the span that separates the elements selected.

  • В данном синтаксисе конструктор по умолчанию эквивалентен срезу (0, 0, 0). Этот конструктор существует только для создания массивов срезов.

  • Создает новый срез с параметрами start, size, step. Этот срез будет относиться к размеру количества элементов, каждый с позицией:

  • начало + 0 * шаг

  • начало + 1 * шаг

  • ....

  • ....

  • начало + (размер-1) * шаг


Пример:
slice (1, 5, 4)
Ввод: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Выход: 1 5 9 13 17
Пояснение: начиная с индекса 1, затем следующего индекса 1 + 1 * 4 = 5, следующий индекс 1 + 2 * 4 = 9,
следующий индекс 1 + 3 * 4 = 13, следующий индекс 1 + 4 * 4 = 17.
Следовательно, срез с шагом больше 1 не выделяет смежные элементы в valarray. Например, срез (3, 4, 5) выбирает элементы 3, 8, 13 и 18.
filter_none
редактировать
play_arrow
brightness_4

// C++ program to test the functioning of std::slice
#include // std::cout
#include // std::size_t
#include // std::valarray, std::slice
int main()
{
std::valarray sample(12);
// initialising valarray
for (int i = 0; i < 13; ++i)
sample[i] = i;
// using slice from start 1 and size 3 and stride 4
std::valarray bar = sample[std::slice(2, 3, 4)];
// display slice result
std::cout << "slice(2, 3, 4):";
for (std::size_t n = 0; n < bar.size(); n++)
std::cout << ' ' << bar[n];
std::cout << '\n';
return 0;
}

Выход:
срез (2, 3, 4): 2 6 10

Download 48,85 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   14




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish