Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на языке Pascal


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Pascal

Выпуск № 265
от 03.12.2006, 12:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 222, Экспертов: 50
В номере:Вопросов: 1, Ответов: 1


Вопрос № 64420: Вводиться рядок з n символів, 2<n<8. Потрібно знайти скільки можна зробити перестановок з цього рядка і вивести ці перестановки, їх потрібно виводити по черзі. Приклад: Вхідні дані: IOX Вихідні дані: 6 XOI OIX<...

Вопрос № 64.420
Вводиться рядок з n символів, 2<n<8. Потрібно знайти скільки можна зробити перестановок
з цього рядка і вивести ці перестановки, їх потрібно виводити по черзі.
Приклад:
Вхідні дані:
IOX
Вихідні дані:
6
XOI
OIX
IXO
XIO
OXI
IOX
Отправлен: 27.11.2006, 13:52
Вопрос задал: Shef (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, Shef!
Взять код для решения следующей задачи и с помощью него итеративно перебрать все варианты.
Идея решения вышеуказанной задачи тоже проста:
перебираем все символы, начиная с конца слова, пока не найдем встретившиеся 2 рядом, но в обратным алфавитном порядке. Типа: zzzyyxxxccddddbbaa
Надо учесть, что таких символов может быть несколько подряд:
zzzyyxxxccddddbbaa, но взять нам надо будет более близкий к концу.
Остается поменять местами найденные два символа:
zzzyyxxxcddddcbbaa
И вывести первую часть строки в прямом, порядке, а вторую - в обратном:
zzzyyxxxcdaabbcddd
В приложении мое решение подзадачи по взятию следующего по алфавиту числа из того же набора букв. На Си, точно верное и работающее. Если не сможете "перевести" на Паскаль, напишите на форум — я переведу.

Приложение:

---------
Не узнаешь - не попробуешь.

Ответ отправил: Сухомлин Кирилл Владимирович (статус: Практикант)
Ответ отправлен: 27.11.2006, 16:02


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.37 от 04.10.2006
Яндекс Rambler's Top100

В избранное