Подсчет одинаковых слов
Подсчитывает количество одинаковых слов в тексте. Может удалять повторяющиеся слова, выдает общее количество слов и количество уникальных слов.
По запросу повторяющиеся слова публикуем калькулятор, вычисляющий количество повторяющихся слов. Калькулятор считает общее количество слов, количество уникальных слов (количество слов за вычетом всех повторов), также выводит текст с указанием количества слов и имеет возможность удалять все повторяющиеся слова из оригинального текста.
Сколько раз встречается каждое слово в тексте
В единственной строке записан текст. Для каждого слова из данного текста подсчитайте, сколько раз оно встречалось в этом тексте ранее.
Словом считается последовательность непробельных символов идущих подряд, слова разделены одним или большим числом пробелов или символами конца строки.
Мой ход решения :
Считываем строку с клавиатуры, определяем сколько слов в строке, создаем массив типа String . Длина массива равна количеству слов в строке. В индексы массива сохраняем каждое слово. После сравниваем между собой все элементы и ведем счётчик.
Как решить задачу «Номер появления слова»?
Условие
В единственной строке записан текст. Для каждого слова из данного текста подсчитайте, сколько раз оно встречалось в этом тексте ранее.
Словом считается последовательность непробельных символов идущих подряд, слова разделены одним или большим числом пробелов или символами конца строки.
Задача от сюда: pythontutor.ru/lessons/dicts/problems/occurency_index
- Вопрос задан более трёх лет назад
- 4986 просмотров
- Вконтакте
- Вконтакте

- Вконтакте

- Вконтакте



- Вконтакте

longclaps: Спасибо за замечание.
Про двойной проход согласен, однако смтз он проще для понимания. Такой подход будет работать с любым языком.
Upd: Нет, сложность алгоритма будет в любом случае квадратичная, потому что чтобы узнать есть слово в списке подсчета или нет нужно поройти этот список. Уверен что внутренности всех предложенных вспомогательных функций работают в конце концов по этому принципу.
Про сплит согласен, невнимательно читал условие, пробелов может быть несколько а также EOL.
Любопытно что мой код проходит указаные в задаче на странице тесты. Хотя тесты не охватывают все условия задачи. Вариант qlkvg тоже проходит все тесты. А вот вариант Шамсудин Сердеров выдает странные результаты
ЕГЭ по информатике 2022 — Задание 10 (Поиск в тексте)

В этом уроке по подготовке к ЕГЭ по информатике 2022 разберём задание номер 10.
Это задание, как и предыдущее, решается с помощью компьютера. Нужно будет провести поиск в тексте по определённому критерию и ответить на поставленный вопрос.
Информационный поиск нужно сделать с помощью текстового редактора. Мы в наших задачах будем использовать текстовый редактор Word от компании Microsoft.
С помощью текстового редактора определите, сколько раз встречается слово «рад» или «Рад» в тексте А.С. Пушкина «Руслан и Людмила».Такие слова как «радостный», «радость» и т.д., учитывать не следует. В ответе укажите только число.
После открытия файла нужно открыть окно «Расширенный поиск«.
На вкладке «Главная» находится кнопка «Найти«. Кликаем по чёрному треугольнику возле этой кнопки и выбираем «Расширенный поиск«.
Далее, нажимаем кнопку «Больше>>«.
Теперь у нас есть все инструменты, чтобы решить 10 задание из ЕГЭ по информатике 2022.
В поле «Найти» пишем наше слово «рад».
Рассмотрим некоторые параметры, которые присутствуют в этом окне.
Учитывать регистр. Если не ставить эту галочку, то программа будет игнорировать регистр. Т.е. не важно, как мы написали в строке поиске, программа будет искать слова с большими буквами и с маленькими буквами. Нам в этой задаче не нужно ставить эту галочку .
Только слово целом. Если поставить эту галочку, то программа будет игнорировать слова, куда наше искомое слово входит. Это то, что нам нужно в этой задаче. Поставим галочку в этой задаче .
После того, как мы сделали нужные настройки нажимаем на кнопку «Найти в» (В некоторых версиях Word эта кнопка может называться «Область поиска» или как-то ещё.) и нажимаем «Основной документ«.
После того, как мы это сделаем, нам программа напишет ответ к нашей задаче.
![]()
Ещё одна задача при подготовке к 10 заданию ЕГЭ по информатике 2022.
Определите, сколько раз в тексте произведения А. С. Пушкина «Капитанская дочка» встречается имя Емельян в любом падеже.
Вобьём в строку поиска слово Емельян. Будем нажимать на кнопку Найти далее и по очереди проверим каждый случай.
Первый случай не подходит, т.к. это слово находится в аннотации до основного произведения А.С. Пушкина. Нас просили найти именно слова, которые в тексте самого произведения.
Остальные случаи подходят. Всего получается два слова.
Ещё один пример из примерных задач ЕГЭ по информатике 2022, где мы составим маску для поиска.
С помощью текстового редактора определите, сколько раз, не считая сносок, встречается слово, которое начинается на букву «С» или на «с» в предложенном файле. Предлог «C» или «с» учитывать не нужно. В ответе укажите только число.
Эту задачу можно решить с помощью «Подстановочных знаков«, чтобы можно было использовать маску (шаблон).
Ставим галочку «Подстановочные знаки».
Основные правила для составления маски в программе Word:
| Спец. знаки | Что обозначают | Пример строки поиска | Что будет находить |
| ? | Один любой символ | р?к | рак, рок, рик, рык и т.д. |
| * | Любое число любых символов | р*к | риск, рок, ребёнок и т.д. |
| [] | Один из указанных символов | б[аоу]к | бак, бок, бук |
| [-] | Один символ из диапазона. Диапазон должен быть указан в порядке возрастания кодов символов. | [а-яё] | Любая строчная русская буква |
| [А-ЯЁ] | Любая прописная русская буква | ||
| [0-9] | Любая цифра буква | ||
| [!] | Один любой символ не указанный после восклицательного знака | б[!ы]к | бак, бок и т. п., но не бык |
| [!x-z] | Один любой символ, не входящий в диапазон указанный после восклицательного знака | [!а-яё]ок | Бок, Док и т. п., но не бок, док |
| [!0-9] | Любой символ кроме цифр | ||
| Строго n штук предыдущего символа или выражения. Выражением является все то, что заключено в круглые скобки. Выражение может состоять как из конкретных символов, так и содержать спец. знаки. | 10 | 1000, но не 100, 10000 | |
| 10(20) | 102020, но не 1020, 10202020 | ||
| n и более штук предыдущего символа или выражения | 10 | 1000, 10000, 100000 и т. д., но не 100 | |
| От n до m штук предыдущего символа или выражения | 10 | 1000, 10000, но не 100, 100000 | |
| @ | Один или более штук предыдущего символа или выражения | 10@ | 10, 100, 1000, 10000 и т. д. |
| Конец слова | бок> | колобок, но не боксер |
Сначала в поле «Найти» в нашей задаче нужно написать следующую маску:
Знак » » обозначает конец слова.
В этой задачке нужно игнорировать сноски, поэтому нажмём «Найти в» -> «Основной документ«. Это даст возможность не искать в сносках.