|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/400 01 Mar 2002 14:23:36 To : Soft Subject : Re: Почему не работает? -------------------------------------------------------------------------------- Здравствуй, Soft. AC>> А я уже не помню оригинальной задачи. S> Есть слова в переменной. Там могут быть буквы е,ё и,ё а могут и не быть. S> апример слово елка нужно добавить в массив все варианты букв е-ё S> в результате должно получиться елка, ёлка. И пример посложнее. Слово индеец S> должно получиться S> Индеёц, Индеец, Йндеец, Йндеёц, Йндёёц, Индёёц, Индёец итд. Это в какую-нибудь книжку по программированию... Эхотаг тут совершенно ни при чем. Потому я тебя и спросил, есть ли уверенность, что задача вот именно так и стоит. Общий принцип очевиден - делим требуемое слово на фрагменты, либо состоящие из одной такой вот буквы, либо не содержащие таковых. Получаем массив. И по этому массиву рекурсивно делать стандартную схему перебора - для всех вариантов текущего начального элемента собрать массив map($этотвариант . $_, func(@хвост)). Собрать все эти массивы в один и вернуть. Честно говоря, писать и тестировать код ломы, а неоттестированный я наружу стараюсь не выдавать - что-то я невнимателен в последнее время... -- Artem Chuprina Communiware.net RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/358.49, ICQ: 13038757 Hет применения человеческому разуму! (c) --- ifmail v.2.15dev5 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/6359e3cd68f0.html, оценка из 5, голосов 10
|