已知有一个集合A={a,b,c,d,e,f}编写程序打印出A的所有非空子集 用C语言解决

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 12:07:22
已知有一个集合A={a,b,c,d,e,f}编写程序打印出A的所有非空子集 用C语言解决

已知有一个集合A={a,b,c,d,e,f}编写程序打印出A的所有非空子集 用C语言解决
已知有一个集合A={a,b,c,d,e,f}编写程序打印出A的所有非空子集 用C语言解决

已知有一个集合A={a,b,c,d,e,f}编写程序打印出A的所有非空子集 用C语言解决
G:A-> B
G(A)= G(B)= C
FN:A-> B
F1(A)= C,F1(B)= C
F2(A)= C(B),F2 = D
F3(A)= C,F2(B)= E
F4(A)= D,F4(B)= C
F5(A)= D(二)中,f1 = D
F6(A)= D,F1(B)= E
F7(A)= E,F7(B)= C
F8(A)= E,F8(B)= D
F9(A)= E,F9(B)= E
总数:9
2.
1)A = R,B = {Y | Y> 0},F:X→| X |,比| 0 | = 0不属于到B
2)A = R,B = R,F:X→X ^ 2是
3)A = Z,B = R,F:所述→√x不x是负的,√X不属于B
4)A = Z,B = Z,F:X→X ^ 3

#include
#define AMAX 6
static char A[AMAX] = {'a','b','c','d','e','f'};
void print(int len)//len为子集的大小,即元素的个数
{
int i,j,k;
j=k=0;
for(i=0;i {<...

全部展开

#include
#define AMAX 6
static char A[AMAX] = {'a','b','c','d','e','f'};
void print(int len)//len为子集的大小,即元素的个数
{
int i,j,k;
j=k=0;
for(i=0;i {
if(AMAX-i for(j=0;j {
printf("%c ",A[i+j]);
}
printf("\n");
}
return;
}
int main()
{
int i;
for(i=1;i<=AMAX;i++)
{
print(i);
}
return 0;
}

收起

#include
#include
#define AMAX 6
static char A[AMAX] = {'a','b','c','d','e','f'};

void printSubset(char *Array, size_t len, size_t maxLen, size_t index, boo...

全部展开

#include
#include
#define AMAX 6
static char A[AMAX] = {'a','b','c','d','e','f'};

void printSubset(char *Array, size_t len, size_t maxLen, size_t index, bool add, char* prefix)
{
size_t num = maxLen*2 + 1;

for (size_t i=index; i+len <= maxLen; i++)
{
char* target = new char[num];
memset(target,NULL,num);

if (add) { strcpy_s(target, num, prefix); }
char element[2] = {0};
element[0] = Array[i];
strcat_s(target, num, element);
strcat_s(target, num, " ");

if (len > 1)
{
printSubset(Array, len-1, maxLen, i+1, true, target);
}
else
{
printf("%s\n",target);
delete[] target;
}
}
}


int main()
{
for(int i=1;i<=AMAX;i++)
{
printSubset(A,i,AMAX,0,false,NULL);
}
return 0;
}

收起