Задание на лабораторную работу No2 По дисциплине «Объектно-ориентированное программирование» Разработка класса «Строка»
Цель работы: ознакомление с основными принципами работы со строковым типом на языке С++ с реализацией соответствующего класса с заданным функционалом Задание Разработать класса «Строка», содержащий как минимум следующие методы:
- Поиск подстроки в строке. Метод принимает в качестве входного аргумента часть строки и в случае наличия такой подстроки в строке возвращает индекс первого вхождения, в противном случае возвращает -1 (минус единица)
- Распределение по количеству уникальных слов. Например, в объекте типа строка хранится текст вида: Hello, everybody, my name is Maximillian and would like to say my name again.
Результатом работы будет следующий вывод:
Hello – 1
everybody -1
my – 2
name – 2
is – 1
и так далее аналогичным образом.
Порядок слов в отображении результата может быть либо:
А) Алфавитный
Б) По порядку слов в тексте
В) По количеству вхождений (от большего к меньшему или наоборот)
Полученный результат должен сохраняться в памяти программы (структура, массив, словарь...)
Одно и тоже слово, написанное разным регистром считать одним и тем же словом, т.е.,
например, Name и name считать одинаковыми.
Слова, написанные через дефис, считаются одним словом, например, flip-flop считается как
одно слово.
3) Подсчет количества слов в строке. Метод возвращает число слов всего в тексте.
Примечание: правило, как в пункте 2 сохраняет свою силу, т.е. слова через дефис считаются одним словом. НЕ ПУТАТЬ С ТИРЕ. Разница между дефисом и тире в том, что слева и справа от «черточки» стоят пробелы!!! Что еще должно быть в классе: • Предусмотреть возможность подгрузки текста из файла расширением .txt • Предусмотреть возможность ВЫГРУЗКИ распределения по словам в файл (txt или csv). • НЕЛЬЗЯ ИСПОЛЬЗОВАТЬ ВСТРОЕННЫЕ МЕТОДЫ КЛАССА STD::STRING