Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
Гродненский Форум
27 Апрель 2024, 23:03:11
Новости, реклама:
   Главная   Новости Гродно Помощь Игры Календарь Войти Регистрация   Меню
Гродненский Форум > Компьютеры > Программирование
(Модераторы: Админ, barmalei) > Тема:

как сделать программу перестановка слов в предл используя не рекурсивный алгорит

Страниц  :   Вниз
  Печать  
Автор Тема: как сделать программу перестановка слов в предл используя не рекурсивный алгорит  (Прочитано 674 раз)
0 Пользователей и 1 Гость смотрят эту тему.
luybeznov
Новенький


Репутация: +0/-0
Offline Offline

Сообщений: 9

Просмотр профиля Email
« : 13 Сентябрь 2012, 16:56:20 »

как сделать программу перестановка слов в предложении для Pascal используя не рекурсивный алгоритм чтобы не повторялись одинаковые перестановки?
я в этом совсем не разбираюсь.
очень очень нужно!
помогите написать код
Записан
Sven4uk
Почетный гродненец
*****

Репутация: +231/-0
Offline Offline

Сообщений: 2367

Просмотр профиля
« Ответ #1 : 13 Сентябрь 2012, 19:40:24 »

Засунь все слова из предложения в массив. Потом генерируй пермутации в лексикографической последовательности и для каждой пермутации печатай соответственные слова из массива.

Алгоритм для генерирования пермутаций:

The following algorithm generates the next permutation lexicographically after a given permutation. It changes the given permutation in-place.

1. Find the largest index k such that a[k] < a[k + 1]. If no such index exists, the permutation is the last permutation.
2. Find the largest index l such that a[k] < a[l]. Since k + 1 is such an index, l is well defined and satisfies k < l.
3. Swap a[k] with a[l].
4. Reverse the sequence from a[k + 1] up to and including the final element a[n].

Это если нету одинаковых слов в предложении или можно, чтобы 2 предложения одинаковых получились.
Записан
Страниц  :   Вверх
  Печать  
 
Перейти в:  

Войти
Войдите, чтобы добавить комментарий

Войдите через социальную сеть

Имя пользователя:
Пароль:
Продолжительность сессии (в минутах):
Запомнить:
Забыли пароль?

Контакт
Powered by MySQL Powered by PHP Мобильная версия
Powered by SMF 1.1.20
SMF © 2006-2024, Simple Machines
Simple Audio Video Embedder
| Sitemap
Valid XHTML 1.0! Valid CSS!
Страница сгенерирована за 0,078 секунд. Запросов: 19.