Перейти до змісту

ЛР21. Стандартні алгоритми, лямбда-вирази й вибір контейнера

Коротко про роботу

Послідовність треба знайти, відфільтрувати за умовою відбору, трансформувати та впорядкувати. Варіант визначає STUDENT_X.

Відкрити робочий зошит Як виконувати лабораторні

1. Умова

Послідовність треба знайти, відфільтрувати за умовою відбору, трансформувати та впорядкувати.

Усі обчислення виконуйте з даними свого STUDENT_X. Значення варіанта друкує перша комірка зошита.

2. Що треба знати

Робота виконується після Л1–Л9. Потрібні поняття:

  1. ітератор
  2. std::find і std::count_if
  3. std::transform і std::sort
  4. лямбда-вираз

Межа матеріалу

Використовуйте поняття, вивчені до Л1–Л9. Не переписуйте всі чотири дії ручними циклами. Мета роботи — читати й застосовувати алгоритми стандартної бібліотеки.

3. Варіант, вхідні дані та результат

У зошиті заповніть STUDENT_NAME, STUDENT_GROUP і STUDENT_X від 1 до 30.

Вхідні дані

Поле Зміст
values вхідна послідовність
target ціль пошуку

Поля результату

Поле Зміст
found чи знайдено цільове значення
even_count кількість парних значень
transformed квадрати вхідних значень
sorted_values відсортована копія

Назви полів результату не змінюйте.

4. Терміни і правила

Терміни

  • ітератор — об’єкт, що позначає позицію в контейнері та дає алгоритмам доступ до його елементів.
  • лямбда-вираз — коротка безіменна функція, яку можна передати алгоритму як правило обробки.

Правила

  1. found показує наявність target у values.
  2. even_count рахує парні значення через std::count_if і лямбда-вираз без захоплення.
  3. transformed містить квадрати елементів values, створені через std::transform зі збереженням порядку.
  4. sorted_values — окрема копія values, впорядкована за зростанням; початковий values не змінюйте.

5. Завдання

Завдання 1

Знайдіть target через std::find і порахуйте парні значення через std::count_if. Запишіть found і even_count.

Завдання 2

Створіть transformed через std::transform, піднісши кожний елемент до квадрата. Початковий values не змінюйте.

Завдання 3

Відсортуйте копію values через std::sort і запишіть у sorted_values. Одним реченням поясніть вибір контейнера.

6. Перевірка і здача

  1. Запустіть самоперевірку та виправте помилки.
  2. Перезапустіть ядро і виконайте роботу ще раз від початку.
  3. Збережіть .ipynb і PDF з кодом та результатами.

Назва PDF: LR21_Прізвище_Група_VNN.pdf.