Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.mmonline.ru/forum/read/7/36212/
Дата изменения: Sat Feb 19 23:41:21 2011
Дата индексирования: Sat Feb 19 23:41:21 2011
Кодировка: Windows-1251
MMOnline | Форумы | Разное | Генерация множества Булеана

Генерация множества Булеана

Автор темы Zekka 
28.05.2004 12:51
Zekka
Генерация множества Булеана
Народ, помогите кто-нить. Нужно на С++ реализовать алгоритм генерации всех подмножеств конечного множества. (в С++ вообще не шарю) Помогите плз. Дозарезу надо.
28.05.2004 16:28
Kranov
OK
#define Cardinality 10
#include<stdio.h>

main()
{
long number_of_subsets = 1;
for (int i=0; i<Cardinality; i++)
number_of_subsets *=2;

for(int s=0; s<number_of_subsets; s++) // s is a subset in the binary form
{
printf("Subset #%d is: {", s);
int subset =s; // subset indicates units in the binary form
for (int count =1; subset; subset>>=1,count++)
// count runs elements of the set [1..Cardinality]
if (subset%2)
printf("%d", count);
printf("}\n");
}

}
28.05.2004 16:54
Zekka
Генерация множеств Булеана
Премного благодарен. Выручили.

Извините, только зарегистрированные пользователи могут публиковать сообщения в этом форуме.

Кликните здесь, чтобы войти