Аватар для ArtJoker
8 / 6 / 2
Регистрация: 10.01.2019
Сообщений: 33

Булева матрица из возможных переменных

31.03.2019, 02:29. Показов 2829. Ответов 2

Студворк — интернет-сервис помощи студентам
Возможно такой вопрос уже был на форуме, но ответа я не нашёл.
Задача состоит в том, чтобы составить булеву матрицу (2^n, n). В каждой строке матрицы должно быть уникальное сочетание true/false. То есть матрица должна содержать все возможные варианты из n булей. Может кто знает алгоритм для составления такой матрицы?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.03.2019, 02:29
Ответы с готовыми решениями:

Класс «Булева матрица»
Определить класс «Булева матрица» – BoolMatrix размерности n×m. Класс должен содержать несколько конструкторов, в том числе конструктор...

Создание класса Булева матрица
Задание: создать класс Булева матрица(n*m). Поля: размерность и значение матрицы. Реализовать методы логического сложения и отрицания...

Дана булева матрица изменить ее диагональ, если выполнено условие
Дана булева матрица. Если крайние элементы диагонали равны True, то и всю диагональ сделать true, в противном случае false. Вывести...

2
 Аватар для Lexeq
1151 / 743 / 483
Регистрация: 21.01.2014
Сообщений: 1,903
31.03.2019, 12:47
Лучший ответ Сообщение было отмечено ArtJoker как решение

Решение

ArtJoker, это называется размещение с повторениями (permutations with repetitions). Тут есть реализации на разных языках (шарпа к сожалению нет) https://rosettacode.org/wiki/P... epetitions Можете переписать или поискать готовые реализации на шарпе.
1
 Аватар для ArtJoker
8 / 6 / 2
Регистрация: 10.01.2019
Сообщений: 33
31.03.2019, 15:23  [ТС]
Цитата Сообщение от Lexeq Посмотреть сообщение
Можете переписать или поискать готовые реализации на шарпе.
Сделал конструкцию на костылях каких-то. Может ещё кому-то понадобится.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
        public static bool[,] boolMatrix(int elements)
        {
            int variations = Convert.ToInt32(Math.Pow(2, elements));
            bool[,] matrix = new bool[variations, elements];
            for (int j = 0; j < elements; j++)
            {
                bool now = true;
                int index = 0;
                for (int i = 0; i < variations; i++)
                {
                    if(index==variations/(Math.Pow(2,j+1)))
                    {
                        index = 0;
                        now = !now;
                    }
                    matrix[i, j] = now;
                    index++;
                }
            }
            return matrix;
       }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.03.2019, 15:23
Помогаю со студенческими работами здесь

Перебор всех возможных сочетаний заданных переменных
Чтобы не создавать новую тему, напишу здесь. Есть несколько переменных - около 20, часть переменных может иметь 2 значения, часть - три...

Чем определяется число возможных комбинаций входных переменных для произвольного логического элемента
Чем определяется число возможных комбинаций входных переменных для произвольного логического элемента

Матрица, инициализация переменных
Здравствуйте. Написала программу, которая должна в матрице в строках с отрицательными элементами брать элемент, который находится на...

Матрица перехода от старого базиса к новому, формула замены переменных
Как найти такую матрицу? И что за формула замены переменных?

Булева алгебра
Проверить эквивалентность формул А и В, используя основные аксиомы и теоремы булевой алгебры. помогите пожалуйста я вообще не понимаю че...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru