Подводя итоги конкурса "Формула Февраль", я был обрадован вниманию читателей к данной теме. Кроме того, было решено продолжить это начинание, подготавливая вас к более серьезным задачам программирования.
Если у вас есть какие-либо интересные (и полезные) задачи, связанные с программированием (и не только), то присылайте их в редакцию для Вадима Нарейко, и я с удовольствием рассмотрю все ваши предложения.
И, наконец, самое приятное: начиная с этого номера, победителю будет присуждаться компакт в качестве приза. Если у вас есть какие-либо пожелания, что бы Вы хотели видеть на призовом компакте, то пишите об этом вместе с решением задачи.
Задачей данного номера будет создание алгоритма, осуществляющего поиск по текстовому файлу. В рамках задачи выполняются следующие соглашения:
- Текстовой строкой будем считать строку, состоящую из символов ASCII 32(20h)-255(ffh). Длина строки может быть равна 0 (нулю) и не ограничена (может быть любой длины).
- Подстрокой будем считать часть строки. Подстрока длины 0 (нуль) является частью самой себя и любой строки.
- Текстовым файлом будем считать файл, состоящий из текстовых строк, разделенных символами перевода строки.
Требуется составить алгоритм поиска строк, содержащих определенные подстроки в текстовом файле и написать программу для данного алгоритма.
На вход алгоритма/программы идут два текстовых файла IN1.TXT и IN2.TXT. IN1.TXT содержит строки для поиска. IN2.TXT содержит текст, по которому нужно вести поиск. В качестве результата работы должен создаваться файл OUT.TXT, содержащий число строк файла IN2.TXT, в которых была найдена соответствующая подстрока из файла IN1.TXT.
Пример:
IN1.TXT
a
bc
c
bb
IN2.TXT
abba
caba
bca
bbb
OUT.TXT
3
1
2
2
То есть строка "а" была найдена в трех строках, "bc" - в одной, "c" - в двух и "bb" - в двух.
Присылайте письма с описанием алгоритма и текстом программы на адрес редакции до 28 июня с пометкой "Алгоритм Поиска".
Вадим НАРЕЙКО,
ghost@belcaf.minsk.by,
www.belcaf.com
Горячие темы