помогите с массивом
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [18.97.9.174] |
|
|
правила раздела Алгоритмы

помогите с массивом
|
Сообщ.
#1
,
|
|
|
|
Есть массив из 6 элементов, которые принимают значения либо 1 либо 0.
как мне пересмотреть a[1] и a[2] a[1] и a[3] a[3] и a[5] и a[6] и т.д. т.е все возможные комбинации этих элементов ?? заранее спасибо |
|
Сообщ.
#2
,
|
|
|
|
непонял ? всевозможные варианты нулей и едениц ?
1 и 0 0 и 1 0 и 0 1 и 1 ? или чё ? |
|
Сообщ.
#3
,
|
|
|
|
нет
всвозможные комбинации элементов массива.. я ж вроде написал как первый элемент и второй второй и третий пятый , первый и третий и т.д. мне просто в зависимости от того скока элементов массива скомпонованы надо делать некоторые деиствия |
|
Сообщ.
#4
,
|
|
|
|
а.. дык тебе надо алгоритм брутефорса
|
|
Сообщ.
#5
,
|
|
|
|
а вот алгоритмик не подскажте
или хотя б где взять? |
|
Сообщ.
#6
,
|
|
|
|
тебе надо сгенерировать множество всех подномжеств из шести элементов.
это легко понять, если взять шесть булевских элементов. если iый элемент 0, то соответсв. номер a[i] будет участвовать в &-операции, в противном случае нет. для реализации можешь организовать шесть вложенных циклов for, каждый из которых от 0 до 1 и отвечает за включение iого элемента, легче, если поймешь, организовать рекурсию. |
|
Сообщ.
#7
,
|
|||
|
|
Выписываешь все числа от 0 до 2^N - 1. Переводишь их в двоичную систему счисления (длину оставляешь N бит). Если на i-том месте стоит 0, то элемента нет, если 1 - элемент есть. Или можно круче:
Принцип тот же, но без перевода чисел в "двоичку". |
|
Сообщ.
#8
,
|
|||||||
|
|
Вариант на С
запускается алгоритм следующим образом:
а можно и так
|