求集合的笛卡尔乘积

求集合的笛卡尔乘积

  • 一:【实验目的】
  • 二:【实验内容】
  • 三:【实验原理】
  • 四:代码实现:

一:【实验目的】

通过编实现给定集合A和B的笛卡尔积C=AA,D=AB,E=BA,F=AAB,G=A(A*B).

二:【实验内容】

已知所给集合A={1,2},B={a,b,c},求A,B的笛卡尔积C=AA,D=AB,E=BA,F=AAB,G=A(A*B)

三:【实验原理】

笛卡尔乘积是以有序偶为元素的集合,它的定义为C={(x,y)|x∈A,y∈B}。所以欲求笛卡尔积,只需取尽集合A的元素和集合B的元素,并构成序偶(a,b)送入C中即可。

四:代码实现:

#include 
int main()
{
	char A[] = {'1','2'};
	int M = sizeof(A)/sizeof(A[0]);
	char B[] = { 'a','b','c' };
	int N = sizeof(B) / sizeof(B[0]);
	char C[2][2] = { 0 };
	//求C的笛卡尔积,C=A*A
	printf("C=A*A=");
	printf("{");
	int i = 0;
	int j = 0;
	for (i = 0; i < M; i++)
	{
		for (j = 0; j < M; j++)
		{
			C[i][0] = A[i];
			C[i][1] = A[j];
			printf("(%c,%c)", C[i][0], C[i][1]);
		}
		
	}
	printf("}");
	printf("\n");
	//求D的笛卡尔积,D=A*B
	char D[2][3] = { 0 };
	printf("D=A*B=");
	printf("{");
	for (i = 0; i < M; i++)
	{
		for (j = 0; j < N; j++)
		{
			D[i][0] = A[i];
			D[i][1] = B[j];
			printf("(%c,%c)", D[i][0], D[i][1]);
		}
	}
	printf("}");
	printf("\n");
	//求E的笛卡尔积,E=B*A
	char E[3][2] = { 0 };
	printf("E=B*A=");
	printf("{");
	for (i = 0; i < N; i++)
	{
		for (j = 0; j < M; j++)
		{
			E[i][0] = B[i];
			E[i][1] = A[j];
			printf("(%c,%c)", E[i][0], E[i][1]);
		}
	
	}
	printf("}");
	printf("\n");
		//求F的笛卡尔积,E=A*A*B
	char F[2][2][3] = { 0 };
	printf("E=A*A*B=");
	printf("{");
	for (i = 0; i < M; i++)
	{
		for (j = 0; j < M; j++)
		{
			
			for (int k = 0; k < N; k++)
			{
				F[i][j][0] = A[i];
				F[i][j][1] = A[j];
				F[i][j][2] = B[k];
				printf("((%c,%c),%c)", F[i][j][0], F[i][j][1], F[i][j][2]);

			}
		}
		printf("}");
		printf("\n");
	}
			//求G的笛卡尔积,G=A*(A*B)
	char G[2][2][3] = { 0 };			
		printf("G=A*(A*B)=");
		printf("{");
		for (i = 0; i < M; i++)
		{
			for (j = 0; j < M; j++)
			{
				for (int k = 0; k < N; k++)
				{
					G[i][j][0] = A[i];
					G[i][j][1] = A[j];
					G[i][j][2] = B[k];
					printf("(%c,(%c,%c))", G[i][j][0], G[i][j][1], G[i][j][2]);
				}
			}
		}
	printf("}");
	return 0;
}

求集合的笛卡尔乘积_第1张图片
【实验心得】
通过这个实验,我们可以更深入的了解集合的性质和它们之间的相互作用。在这个实验中,我们将两个集合的元素进行组合,形成了一个新的集合。更深入地了解集合之间的关系,同时这个实验也有助于培养我们的逻辑思维能力和分析问题的能力。

你可能感兴趣的:(离散数学,c语言)