ЛР8. Фіксовані й динамічні послідовності C++
Коротко про роботу
Невеликий набір вимірювань треба прочитати як дані фіксованої довжини, сформувати динамічний результат і проаналізувати
текстову мітку. Варіант визначає STUDENT_X.
Відкрити робочий зошит Як виконувати лабораторні
1. Умова
Невеликий набір вимірювань треба прочитати як дані фіксованої довжини, сформувати динамічний результат і проаналізувати текстову мітку.
Перша комірка зошита лише показує значення вашого STUDENT_X разом із типами. Вона не оголошує і не створює предметні
змінні. У коді кожного завдання перенесіть потрібні значення та самостійно оголосіть/створіть відповідні змінні.
2. Що треба знати
Робота виконується після Л1–Л5. Потрібні поняття:
- вбудований масив і
std::array std::vectorіpush_backstd::stringтаchar- індекси і
std::size_t
Межа матеріалу
Використовуйте поняття, вивчені до Л1–Л5. Не замінюйте вправу одним універсальним контейнером. Мета — прочитати різні представлення.
3. Варіант, вхідні дані та результат
У зошиті заповніть STUDENT_NAME, STUDENT_GROUP і STUDENT_X від 1 до 30.
Вхідні дані
| Поле | Тип | Зміст |
|---|---|---|
values |
std::vector<int> |
вхідні числові значення |
threshold |
int |
поріг для динамічного результату |
text |
std::string |
текстова мітка |
target_char |
std::string |
символ пошуку |
Поля результату
| Поле | Зміст |
|---|---|
array_sum |
сума перших п’яти значень |
filtered_values |
значення вище порога |
char_count |
кількість цільових символів |
first_char_index |
перша позиція або -1 |
Назви полів результату не змінюйте. Перша комірка лише показує значення варіанта і не оголошує предметні змінні. Перед
розв’язанням кожного завдання самостійно оголосіть потрібні вхідні змінні з показаними значеннями. Власні та результуючі
змінні також оголошуйте звичайно, як у лекційних прикладах. Обчислення виконуйте у блоці { ... }; код над блоком
використовуйте лише там, де це позначено. Наприкінці блока вже є службовий рядок самоперевірки для контрольних полів —
його не потрібно писати або змінювати. Формат std::cout обирайте за змістом завдання: спеціального формату для
самоперевірки немає.
4. Терміни і правила
Терміни
- послідовність фіксованого розміру — набір із наперед відомою кількістю елементів, наприклад
std::array. - динамічна послідовність — контейнер, розмір якого можна змінювати під час роботи, наприклад
std::vector.
Правила
array_sum— сума перших п’яти елементівvalues.filtered_valuesмістить усі елементиvalues, що строго більші заthreshold, у початковому порядку.char_count— кількість точних збігів ізtarget_charуtext.first_char_index— перший індекс збігу з нуля. Для відсутнього символу використовуйте-1.
5. Завдання
Завдання 1
Обчисліть суму перших п’яти значень і запишіть її у array_sum.
Завдання 2
Запишіть у filtered_values усі елементи values, що більші за threshold. Збережіть початковий порядок.
Завдання 3
Знайдіть кількість target_char у text і його перший індекс. Запишіть char_count і first_char_index; якщо символу
немає, використайте -1.
6. Перевірка і здача
- Запустіть самоперевірку та виправте помилки.
- Перезапустіть ядро і виконайте роботу ще раз від початку.
- Збережіть
.ipynbі PDF з кодом та результатами.
Назва PDF: LR08_Прізвище_Група_VNN.pdf.