Задание №15:
Вставьте слово, которое служило бы окончанием первого слова и началом второго:
МАТ (...) КОТ
Удобнее и виднее будет, если заменять неизвестные буквы на знаки вопроса (примерно так делают в именах файлов /примерно -- там последний знак вопроса может означать также отсутствие символа {в некоторых системах}/).
Ниже опишу, как бы я делал программу (увы, уже нет возможности, только память). Видел, что вы интересуетесь программированием, поэтому вам может быть интересно и полезно.
1) Допустим, что у нас есть файл-словарь. Слова упорядочены, по одному на строке.
2) Проходим по словарю. В файл "result" выбираем шестибуквенные слова, начинающиеся с МАТ и пишем их туда в следующем виде: МАТРАЦ пишется как РАЦ МАТРАЦ), также в этот же файл "result" выбираем шестибуквенные слова, кончающиеся на КОТ и пишем их туда в следующем виде: РАЦКОТ пишется как РАЦ РАЦКОТ (это для красивого вида результирующего файла; можно и просто неизменное слово писать). По слову на строку.
3) Сортируем полученный файл "result".
4) Удаляем из отсортированного файла "result" уникальные по первым трём буквам строки.
5) Всё, файл можно рассматривать или вывести на печать.
6) Можно обобщить на произвольное слово-начало, слово-конец и число неизвестных букв (заведя соответствующие переменные).
Около 15 лет назад мне стало интересно, какие слова состоят из одинаковых букв. Я прошёл по словарю (примерно миллион четыреста тысяч слов), занося в новый файл (также построчно) сперва "отсортированное слово", а через пробел -- слово как есть. Например, "огород" преобразовывалось в "гдооор огород", а "дорого" -- в "гдооор дорого". Затем отсортировал и убрал уникальные (по буквам до пробела) строки. Получились крайне интересные результаты, даже со смыслом, даже три слова с важным смыслом были. За 15 лет, конечно, позабылось многое.
Писал программу прямо в самом текстовом редакторе, на встроенном в редактор языке (Multi-Edit 7.0 DOS).
//