IE2017

Перестановки символов

Программирование - Практика программирования

Обработка решает задачу: получить из заданной строки символов все возможные их сочетания (перестановки).

Обработка показывает как в рекурсии решить задачу задачу: получить из заданной строки символов все возможные их сочетания (перестановки). Строка в обработке ограничена 10 символами. Вывод в окно сообщений. Пример на картинке.

Обработка перед выводом собирает результаты в массив, поэтому на словах больше 10 символов может закончиться доступная память. На сайте есть пример более экономно расходующий память.

Скачать файлы

Наименование Файл Версия Размер
ПерестановкиСимволов.epf
.epf 6,54Kb
22.05.13
10
.epf 6,54Kb 10 Скачать

См. также

Комментарии
1. Константин - (Kosstikk) 81 21.05.13 15:21 Сейчас в теме
Как-то так сделано или поинтересней?


"ВЫБРАТЬ
| ""а"" КАК буква
|ПОМЕСТИТЬ буквы
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ""б""
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ""в""
|;
|
|////////////////////////////////////////////////////////////­////////////////////
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| буква1.буква КАК буква1,
| буква2.буква КАК буква2,
| буква3.буква КАК буква3
|ИЗ
| буквы КАК буква1,
| буквы КАК буква2,
| буквы КАК буква3
|ГДЕ
| буква1.буква <> буква2.буква
| И буква1.буква <> буква3.буква
| И буква2.буква <> буква3.буква"
2. Виктор Клевцов (taiba) 75 21.05.13 15:50 Сейчас в теме
(1) Kosstikk, нет - через рекурсивную функцию, перебирающую строку посимвольно
3. Константин - (Kosstikk) 81 21.05.13 15:59 Сейчас в теме
(2) taiba, а слово длиной 12 букв примерно за какое время раскладывает? =)
4. Сергей Ожерельев (Поручик) 3579 21.05.13 16:28 Сейчас в теме
(3) Число сочетаний C = n! / k!(n - k)!
5. Виктор Клевцов (taiba) 75 21.05.13 18:31 Сейчас в теме
(3) Kosstikk, :-)
попробовал - у меня не хватило памяти
8 - 3 секунды
9 - 23
10 - 4:15
6. Виктор Клевцов (taiba) 75 21.05.13 18:50 Сейчас в теме
(3) Kosstikk, не жрёт память вариант с выводом в конце. но это уже тема про велосипед, но там время раскладывания трудно оценить - на вывод тратится много
7. Екатерина Соколова (catena) 91 22.05.13 08:20 Сейчас в теме
Упс, "съедает" одинаковые символы. Лучше написать
ПолучитьМассивСлов(Лев(тестСлово,инд-1)+Сред(тестСлово,инд+1));
8. Виктор Клевцов (taiba) 75 22.05.13 10:17 Сейчас в теме
Оставьте свое сообщение