Основная работа выполняется вторым оператором printf
Основная работа выполняется вторым оператором printf — он выводит второе поле каждой строки и разделитель (пробел). Оператор if определяет момент смены сигнатуры: если sig отличается от oldsig (предыдущего значения сигнатуры), в выходной файл записывается символ перевода строки (если эта запись не первая в файле). Последний оператор printf записывает в конечный файл символ перевода строки.
После проверки этих небольших программ па тестовых файлах я получил список анаграмм из большого словаря, набрав:
sign <dictionary | sort | squash >gramlist
Эта команда скармливает файл dictionary программе sign, направляет ее вывод на вход программы sort, вывод последней направляется па вход squash, а результаты ее работы сохраняются в файле gram List. Программа выполнялась всего 18 секунд: 4 на sign, 11 на sort и 3 на squash.
Я применил эту программу к словарю, содержавшему 230 ООО слов. Он, однако не включал многие окончания типа -s и -ed. А вот самые интересные классы анаграмм:
subessential suitableness
canter creant Cretan nectar recant tanrec trance
caret carte cater crate creat creta react recta trace
destain instead sainted satined
adroitly dilatory idolatry
least setal slate stale steal stela tales
reins resin rinse risen serin siren
constitutionalism misconstitutional
Опубликовал vovan666
April 16 2013 23:35:04 ·
0 Комментариев ·
2599 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.