|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Формирование подмножеств на с++ |
|
C/C++ - Формирование подмножеств на с++
|
Новый участник Сообщения: 2 |
Профиль | Отправить PM | Цитировать Добрый день!
Перед сдачей экзамена возникла такая задача: Дан массив произвольных элементов(Пусть для определенности массив типа int) Нужно выделить из массива все подмассивы(исключая нулевой) всех размеров. Предполагается использование union, в котором будет записано целове число и массив. Каким-то образом изменяя целое число, будем изменять в нем биты так, чтобы получились все подмножества. Получившиеся подмассивы вывести на экран. Заранее спасибо, очень надеюсь на Вашу помощь. |
|
Отправлено: 22:04, 22-06-2010 |
Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать Цитата Remisto:
Предлагаю усовершенствовать так: пусть есть начальный массив A. Задать массив из булевских переменных B такого же размера как A, который отражает наши биты. 1) реализовать операцию ++B (увеличение на единицу числа, представленного "битами" B) 2) реализовать операцию unsigned sparse_array(A,B,C), которая заполняет массив C так: если бит B[i] установлен, значит надо в C добавить A[i]. 3) вывести C на экран 4) скакать циклом в шаг 1 пока все биты B не установятся в true. Можно упаковать биты B в байты (по 8 штук), |
|
Отправлено: 23:02, 22-06-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 2
|
Профиль | Отправить PM | Цитировать Идею понял, спасибо.
Но мне не совсем понятно, как реализовать union. Точнее понятен принцип, но нет полного понимания Когда мы увеличиваем цисло B на еденицу, в двоичном предствалении тоже добавится только еденица? Мне без разницы, какое будет число B? Вначале я должен задать не его, а заполнить массив нулями? Цикл выполнять до тех пор, пока количество true-битов не станет равным размеру массива A? Заранее спасибо! |
Отправлено: 12:11, 23-06-2010 | #3 |
Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать Цитата Remisto:
Цитата Remisto:
Цитата Remisto:
Цитата Remisto:
|
||||
Отправлено: 22:51, 24-06-2010 | #4 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Debian/Ubuntu - sarg+squid формирование статистики в автоматическом режиме | Anatoliy2004 | Общий по Linux | 17 | 21-09-2009 13:11 | |
CMD/BAT - [решено] Формирование списка. | somes | Скриптовые языки администрирования Windows | 7 | 13-04-2009 10:21 | |
Прочие БД - Страница доступа Access 2003. Как создать кнопку на формирование запроса? | tarasov.evgeny | Программирование и базы данных | 5 | 05-02-2009 01:55 | |
[решено] Формирование списка программ в системном трее | koles | Microsoft Windows 2000/XP | 1 | 02-12-2006 22:47 | |
Формирование матрицы | Sergey Po | Программирование и базы данных | 3 | 28-04-2004 04:47 |
|