Форум программистов, компьютерный форум, киберфорум
Наши страницы

сгенерировать все варианты комбинации элементов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как можно "вытащить" ответы из теста? http://www.cyberforum.ru/cpp-beginners/thread1630356.html
Тест написан на КТС net Компилирован уже в exe Можно ли как-нибудь вытащить ответы оттуда? login: 1 pass: 258 snakj, пожалуйста, прочитайте правила форума и постарайтесь впредь их соблюдать:...
C++ Полная спецификация шаблона в перемешку с SFINAE Добрый вечер, код полностью не валидный, но показывает мои искренние старания. Желание написать C++11 generation template class, который бы отвечал следующим заявлиным требованиям: cout <<... http://www.cyberforum.ru/cpp-beginners/thread1630354.html
C++ Не выводятся на экран значения элементов массива
const int arraySize = 10; int data = { 34, 56, 4, 10, 77, 51, 93, 30, 5, 52 }; cout << "Unsorted array:\n"; for(int i = 0; i < arraySize; ++i) cout << setw(4) << data;...
C++ Вычислить сумму ряда целых чисел кратных 3 которая меньше 21
Вычислить сумму ряда целых чисел кратных 3, которая меньше 21. Вывести результат, последний член и количество итераций
C++ Проверить принадлежит ли введенное число заданному диапазону http://www.cyberforum.ru/cpp-beginners/thread1630327.html
Введіть з клавіатури два числадля більшого з них числа перевірте чи знаходиться воно вдіапазоні від 5до30 Ввести 2 числа. Для большего из них проверить принадлежит ли оно диапазону от 5 до 30....
C++ Получение времени в С++, time.h Всем доброго времени суток. Сталкиваюсь с проблемой получения времени. Под запись в БД мне необходимо получить именно СЕКУНДЫ, а не дату, и записать их в строку. Получать необходимо много раз,... подробнее

Показать сообщение отдельно
Байт
Эксперт C
16535 / 10805 / 1638
Регистрация: 24.12.2010
Сообщений: 20,827
02.01.2016, 19:37
Ника)), Булеан, что ли? (Все подмножества)
Но тогда у тебя пропущено пустое подмножества и { 0, 2, 3 }
Булеан имеет 2n элементов. Для n = 4 24 = 16, а у тебя только 14.
Алгоритм довольно прост. Генерируются все двоичные последовательности длины n (0000 ... 1111) 1 на k-м месте означает, что k-й элемент включен в подмножество.
Для генерации достаточно провернуть цикл от 0 до 2n и разобрать числа по битикам.

Добавлено через 5 минут
C++
1
2
3
4
5
6
7
8
int p = (1<<N);
for(i=0; i<p; i++) {
 cout << i << ": {";
 for (int j=0; j < N; j++) {
   if ((i>>j)&1) cout << j << " ";
 }
 cout << " }" << endl;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru