ilyachalov (ilyachalov) wrote,
ilyachalov
ilyachalov

Categories:

Частотная таблица слов в тексте

Одно из интересных упражнений в учебнике Лафоре к главе 15 «Стандартная библиотека шаблонов (STL)», стр. 751:

12. Частотная таблица представляет собой список слов и количество их вхождений в данном тексте. Напишите программу, создающую частотную таблицу для файла, имя которого введет пользователь. Для решения этой задачи хорошо подходит отображение, содержащее пары значений string-int. Можно использовать библиотечную функцию Си под названием ispunct() (см. заголовочный файл CTYPE.H) для проверки правильности пунктуации, чтобы знать, где кончается каждое слово, и выделять его в подстроку методом substr(). Кроме того, функцией tolower() можно сделать все буквы слов строчными.


Получилось довольное симпатичное решение, текст программы можно посмотреть тут. Я использовал язык программирования C++, операционную систему «Windows 7», среду разработки «Visual Studio Community 2017».

В качестве теста взял отрывок из детской пьесы 1940 года С. Я. Маршака «Теремок» (кодировка текста — UTF-8). Его достоинство как теста в том, что в маленьком отрывке есть повторения слов:

Это что за теремок, теремок?
Он не низок, не высок, не высок.
Кто, кто в теремочке живет?
Кто, кто в невысоком живет?


Результат работы программы:
Tags: Образование, Программирование
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 3 comments