Все варианты логического массива. - страница 2

 
DDFedor >>:

да, здесь полезно вспомнить "одно маленькое исследование"... https://www.mql5.com/ru/forum/121742

TheXpert, абсолютно точно ответил 2 - это число значений который может принемать аргумент а именно или 0 или 1 (т.е. два значения) а 2000 ну это уж как придумается... 

Так вот отвечая на вопрос топикстартера....

функция есть и если еще не дошло то поясню

Х в степени Y и есть искомая функция

где Х - кол-во значений которая может принять переменная (в твоем случае 2, т.к. или 0 или 1)

      Y - кол-во элементов (в твоем примере у массива Array[4] их уже 16) это число 4

т.е. 2 в степени 4 и есть 16

 
denis_orlov >>:

Спасибо! Идея с двоичными значениями понятна.

А вот если развить тему, это домножение периода на 2 годится, видимо, именно для бинаров.

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

Уже ответил...

Столько сколько хочешь....

10 значений в 10 рядах есть 10*10*10*10*10*10*10*10*10*10=10 000 000 000

8-й класс по моему

 
RomanS писал(а) >>

Уже ответил...

Столько сколько хочешь....

10 значений в 10 рядах есть 10*10*10*10*10*10*10*10*10*10=10 000 000 000

8-й класс по моему

Спасибо.

Вопрос был не о подсчете количества вариантов, а именно о ВЫВОДЕ всех возможных вариантов переключателей.

Скажем есть пять булиевых(или бинарных) переменных

false false false false false

или так

0 0 0 0 0

вариантов их переключений = вариантов каждой переменой в степени количества переменных, т.е. 2^5 = 32,

на вопрос топика как получить все возможные варианты циклом ответил StatBars

Thank you.

...

Ну если у кого-нибудь найдется ответ как вывести все варианты НЕ бинарных переменных, а скажем 10-х или 16-х, то респект и уважуха... )

 
Ну если у кого-нибудь найдется ответ как вывести все варианты НЕ бинарных переменных, а скажем 10-х или 16-х, то респект и уважуха... )

Также, как с двочиными. Только размерность поменяйте на соответствующую.

 

Вопрос был не о подсчете количества вариантов, а именно о ВЫВОДЕ всех возможных вариантов переключателей.  

#define K	10
#define N	6
int arr[K]; // массив значений для одного разряда
int pos[N]; // разряд числа / то есть сейчас пятизначное
  
// !! надо сначала задать arr!!!!
// arr может быть любым типом!!!

for (int j=0; j<N; j++) pos[j]=0; // обнуляем 
while (pos[N-1]<=0) // пока разрядность не превышена
{
 st="";
 for (j=0; j<N; j++) st=st+arr[pos[j]];  // создаём структуру числа
 pos[0]++; for (j=0; j<N-1; j++) if (pos[j]>=K) { pos[j]=0; pos[j+1]++; }  // увеличили разрядность
 Print(st); // вывели на экран
}

и никаких MathPow :)

например ели вам надо булевы, то 

K=2; arr[0]=false; arr[1]=true;

 

Ну если у кого-нибудь найдется ответ как вывести все варианты НЕ бинарных переменных, а скажем 10-х или 16-х, то респект и уважуха... )

Спасибо всем.

Вопрос снимается по причине его нелепости...))))

Тупанул, бывает...

По сути ВСЕ варианты N переменных по X значений в каждой - .... это посто ряд чисел от 0 до X^N,

где у каждого числа надо считать значение разрядной единицы.

Эх, наверное в отпуск пора...

 

.... ну ладно...

а если есть ряд переменных с РАЗЛИЧНЫМ количеством значений в каждой?....

))))))))).....

"...спасибо за внимание, сейчас наверно будут убивать..." (с)

 
denis_orlov >>:

.... ну ладно...

а если есть ряд переменных с РАЗЛИЧНЫМ количеством значений в каждой?....

))))))))).....

Значит недостающие до N кодировки значения заполняете нулями.

 
sergeev писал(а) >>

и никаких MathPow :)

например ели вам надо булевы, то

K=2; arr[0]=false; arr[1]=true;

ваш адский скрипт выдает одни нули... )

 
denis_orlov >>:

ваш адский скрипт выдает одни нули... )


а вы arr заполнили?

pS. Мой скрипт райский :)