Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

Практична робота №8

Тема: Алгоритми пошуку в рядках.


Мета: Отримати практичні навички пошуку розробці алгоритмів пошуку
в рядках.

Хід роботи
1. Лінійний пошук
Лінійний пошук в рядку - це процес знаходження певного символу або
підрядка у заданому рядку, перебираючи його по одному символу за раз і
порівнюючи його з цільовим символом або підрядком.
Приклад програми:

Рисунок №1. Приклад лінійного пошуку в рядку


2. Регулярні вирази
В C++ регулярні вирази використовуються за допомогою бібліотеки
<regex>. Ця бібліотека надає можливість виконувати операції з регулярними
виразами, такі як пошук, заміна та перевірка відповідності.
Основні класи та функції, що використовуються в бібліотеці <regex>:
• std::regex: Цей клас представляє сам регулярний вираз. Він може бути
сконструйований з рядка, який містить регулярний вираз.
• std::regex_match(): Функція для перевірки того, чи відповідає текст
регулярному виразу цілком.
• std::regex_search(): Функція для пошуку першого входження підрядка,
який відповідає регулярному виразу, в тексті.
• std::regex_replace(): Функція для заміни всіх входжень підрядка, який
відповідає регулярному виразу, в тексті.
• std::regex_iterator: Клас-ітератор для ітерації через всі входження
регулярного виразу в тексті.
• std::smatch: Клас для зберігання результатів пошуку з використанням
регулярних виразів.

Рисунок №2. Приклад регулярного виразу


Самостійна робота
Напишіть програму, яка буде приймати від користувача текстовий рядок,
далі буде питати слово яке необхідно знайти в цьому рядку. Після чого виводить
позицію цього слова або виводить повідомлення, що даного слова в цьому
рядку немає. Програмі необхідно використати алгоритм лінійного пошуку та
регулярні вирази та надати можливість користувачу обрати який саме спосіб
пошуку він хоче використати.

You might also like