![]() |
|
Модераторы: volvo877, Snowy, MetalFan |
![]()
|
|
| Toska |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 9.5.2007 Репутация: нет Всего: нет |
Вопрос такой, допустим я имею двумерный массив 3x3, значение он может принимать только 0 и 1.
Как осуществить полный перебор возможных вариантов? Типа 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 и т.д.? |
|||
|
||||
| Burka |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 429 Регистрация: 11.5.2007 Репутация: нет Всего: 2 |
Наверно легче будет сделать из массива строку, типа такого для первого варианта:
100 000 000 для второго 010 000 000 И работать уже со строкой. У меня есть процедура которая ищет всевозможные варианты переставляя символы в строке. Если такой вариант подходит, то дам процедуру. -------------------- Великие умы обсуждают идеи; средние умы обсуждают события; мелкие умы обсуждают людей. |
|||
|
||||
| greenpc |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 29.1.2007 Репутация: нет Всего: нет |
Это сообщение отредактировал(а) greenpc - 17.7.2007, 09:00 |
|||
|
||||
| Toska |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 9.5.2007 Репутация: нет Всего: нет |
Наверно легче будет сделать из массива строк
Ну я пока так и сделал. Но у меня массив 9х9 вот и получается.... 81.... Думаю если сделать двумерным по быстрее будет... Добавлено через 7 минут и 39 секунд 2greenpc Чо та не работает.. |
|||
|
||||
| Toska |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 9.5.2007 Репутация: нет Всего: нет |
Burka,
Давай процедуру |
|||
|
||||
| greenpc |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 29.1.2007 Репутация: нет Всего: нет |
Toska,
ошибка в кол-ве уникальных строк не помню я ф-лу кол-ва перестановок в матрице
aa - выходит за предел longInt; например для матрицы 5х5 кол-во уникальных перестановок будет 33554432 Это сообщение отредактировал(а) greenpc - 17.7.2007, 12:34 |
|||
|
||||
| Burka |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 429 Регистрация: 11.5.2007 Репутация: нет Всего: 2 |
Пример использования, он немного не стандартный. так как если у тебя массив 3х3, то тебе нужно иметь 9 единиц и 9 нулей.
Только есть два минуса: Первый - будет очень много повторных строк. А второй минус - я так и не дождался пока сгенерируются варианты для матрицы 3х3, время генерации для строки длиной 9 символов 45 сек и получаеться 362880 вариантов. для 18 символов время через чур большим будет. P.S. Код взят из DelphiWorld и заточен он под перебор разных символов, поэтому не очень подходит. Это сообщение отредактировал(а) Burka - 17.7.2007, 11:56 -------------------- Великие умы обсуждают идеи; средние умы обсуждают события; мелкие умы обсуждают людей. |
||||
|
|||||
| Toska |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 9.5.2007 Репутация: нет Всего: нет |
Наверно легче будет сделать из массива строк
Ну я пока так и сделал. Но у меня массив 9х9 вот и получается.... 81.... Думаю если сделать двумерным по быстрее будет... |
|||
|
||||
![]()
|
| Правила форума "Delphi" | |
|
|
Запрещается! 1. Обсуждать и делится взломанными компонентами или программным обеспечением 2. Публиковать ссылки на варез 3. Оффтопить
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |