Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Генерироване комбинаций из букв 
:(
    Опции темы
temporary
  Дата 20.2.2007, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 126
Регистрация: 16.6.2003
Где: Germany

Репутация: нет
Всего: нет



Привет всем!
Тут возникла необходимость в такой функции когда есть некоторое количество букв (цифр) и нужно перечислить все возможные кобинации из них. К примеру из букв: а, б, в
абв
авб
бва
бав
и т.д.
Раньше где-то встречал, а где, хоть убей - не помню. Помогите, очень нужно, хоть алгоритм подскажите.
PM MAIL   Вверх
W4FhLF
Дата 20.2.2007, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 3
Всего: 121





--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
JusTalionis
Дата 20.2.2007, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 576
Регистрация: 11.7.2006

Репутация: 6
Всего: 17



На память не помню формулу в точности, - открой справочник по математике, раздел "Комбинаторика", и там как раз эти формулы для всяких случаев.

ЗЫ Эхх, школьные годы забылись уже... Бином Ньютона! smile 
PM MAIL   Вверх
temporary
Дата 20.2.2007, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 126
Регистрация: 16.6.2003
Где: Germany

Репутация: нет
Всего: нет



Эээ... Может я не точно сформулировал, символы не повторяются, только меняются местами и длина строки остаётся постоянной
PM MAIL   Вверх
Кирилл
Дата 20.2.2007, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 7.11.2006
Где: Воронеж

Репутация: 1
Всего: 1



Код

for i=0 to сколько букв
   for j=0 to сколько букв
      if j <>i then print bukva(i)&bukva(j)
   next j
next i

Если 3 буквы, ещё один вложенный цикл...
Комбинаторику я пока ещё не проходил smile , так что пока ничего умнее предложить не могу smile 
PM MAIL   Вверх
Akina
Дата 20.2.2007, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Код

Sub ShowAllCombinations(Prefix As String, Chars As String)
Dim i As Integer
If Len(Chars) < 2 Then
  Debug.Print Prefix & Chars
Else
  For i = 1 To Len(Chars)
    Call ShowAllCombinations(Prefix & Mid(Chars, i, 1), Left(Chars, i - 1) & Mid(Chars, i + 1))
  Next i
End If
End Sub

Код

Private Sub Command1_Click()
Call ShowAllCombinations("", "abc")
End Sub



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
cardinal
Дата 21.2.2007, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Если кто-то не понял что произошло, то советую нарисовать полное дерево рекурсии...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0959 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.