Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Найти все комбинации матрицы 
:(
    Опции темы
JavaDell
Дата 5.2.2014, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Запостил этот вопрос в алгоритмах, но так как он имеет отношение и к яве, кину и сюда.

Есть 2х мерный массив (java)
Код

 int[][] array = new int[3][3];

массив может быть заполнен элементами 0 или 1.

Надо пройти ВСЕ возможные комбинации нулей и единиц в этом массиве. Лупами, без использования рекурсии. Каждую получившуюся комбинацию нужно иметь возможноть сравнить с имеющейся (здесь не дано).
Знаю, что количество полученных комбинаций очень велико, 2^(n*n), но все же.
PM MAIL   Вверх
Magistrus
Дата 7.2.2014, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Жив
*


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

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



А почемы именно за лупами нужно сделать? Рекурсия бы здесь выглядела правильнее. 

Если представить, что строка матрицы это четырех битовое число в бинарном представлении 0001 - 1111 (т.е. от 1 до 15), то достаточно четырех вложенных циклов. 

И учись нормально формировать ТЗ, а то понять что-то из того, что ты написал очень сложно.

--------------------
~ вот такая вот загагулина ~ 
PM MAIL WWW ICQ Skype   Вверх
Mirkes
Дата 4.3.2014, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Интересная постановка вопроса.
В принципе все решается одним циклом по матрице вытянутой в строку (ну или двумя, если так нужно сохранить матрицу). При этом гарантировано отсутствие повторов.
идея тупая до не могу. Начинаем с матрицы заполненной одними нулями. Далее крутим цикл генерации новых матриц.
Цикл перехода к следующей матрице:
Перебираем элементы двумя циклами по строкам и столбцам
если текущий элемент 0 то ставим вместо него 1 и прерываем обработку, поскольку новая матрица найдена.
если текущий элемент 1 то заменяем нулем и переходим к следующему элементу.

Если цикл не был прерван, то новых матриц нет.
Ну и что дальше?


--------------------
Mirkes
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

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

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


 




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


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

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