求集合的笛卡尔乘积

news2025/2/23 0:55:07

求集合的笛卡尔乘积

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

一:【实验目的】

通过编实现给定集合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 <stdio.h>
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;
}

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1253381.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux系统常用指令大全(图文详解)

目录 前言 一、UNIX的登录与退出 1、登录 &#xff08;1&#xff09;执行格式&#xff1a; &#xff08;2&#xff09;步骤 2、退出 二、UNIX命令格式 三、常用命令 1、目录操作 &#xff08;1&#xff09;显示目录文件 ls &#xff08;2&#xff09;建新目录 …

PgSQL技术内幕-Analyze做的那些事-pg_stat_all_tables

PgSQL技术内幕-Analyze做的那些事-pg_stat_all_tables pg_stat_all_tables视图中记录有analyze信息&#xff0c;比如何时做的analyze、表元组个数&#xff08;活元组、死元组&#xff09;等。重启后发现该视图中表的统计信息重置不见了&#xff0c;发生了什么&#xff1f; 1、p…

纵观手机市场,手机即鏖战全面屏

9月13日&#xff0c;在相继发布Apple TV、Apple Watch 和iPhone 8/8 Plus之后&#xff0c;当大家都以为苹果新品发布会临近结束之时&#xff0c;苹果前CEO史蒂夫乔布斯的这句经典名言再现屏幕&#xff0c;iPhone X终于揭开了神秘面纱。 “One more thing”。 9月13日&#xff…

Java每日一题:26. 删除有序数组中的重复项

删除有序数组中的重复项 分析&#xff1a; 数组是有序的&#xff0c;因此重复的元素会相邻 每次取出两个数进行比较&#xff0c;因此&#xff0c;需要有两个变量去存储每次取出的值 采用双指针方法&#xff1a; 指针p和q&#xff0c; pnum1&#xff0c;qnum2 p和q进行比较&…

【服务器能干什么】搭建一个短网址平台,可以查看数据详情!

昨天在 YouTube 上看到又一个搭建自己短网址的视频教程&#xff0c;用的是开源的 polr&#xff0c;但是按照步骤一步步搭建下来&#xff0c;最后一步都会出现 顺哥轻创 PLAINTEXT Whoops, looks like something went wrong百度、谷歌查了一圈也没找到有效的解决方法。&#x…

1.2 全加器

处理1个进位的加法 根据半加器可知,结果和进位只有1种情况:要么有结果要么有进位因此全加器可由2个半加器组合而成通过一个半加器输出的结果和进位再次由另一个半加器输出2个半加器的进位通过或门输出

Python 安装Vue依赖包发生异常:npm ERR! notsup Required: {“node“:“^18.17.0 || >=20.5.0“}

异常&#xff1a; 原因&#xff1a;node和npm要求升级为高版本 解决&#xff1a;重新安装node环境 &#xff08;1&#xff09; 官网下载Node.js &#xff08;2&#xff09;双击安装node.js &#xff08;3&#xff09;运行查看

STK Components 二次开发-创建卫星

1.卫星数据 可以用stk 里面自带的 参数帮助文档。 也可以自己下载 CelesTrak: Current GP Element Sets 这里你所需要的最新卫星数据全有。 其实创建需要的就是卫星的二根数。 给定二根数也可以。 读取数据库中的卫星数据 这个接口优先下载最新的。 var tleList TwoL…

宝塔面板安装搭建DiscuzQ论坛教程与小程序上架发布后的展示效果

DiscuzQ论坛小程序上架发布后的展示效果&#xff1a; 1、需要用到的环境&#xff1a; php7.2 mysql5.7或者MariaDB 10.2(我安装用的mysql8.0) php除了必要的一些扩展外&#xff0c;还需要启用readlink、symlink函数等&#xff0c;具体看官方说明&#xff0c;安装的时候也会提醒…

MidJourney笔记(3)-Prompts

MidJourney的Prompts介绍 MidJourney的Prompts是MidJourney的核心之一,这也是我们后续使用MidJourney过程中最重要的工作内容,根据生成的图片,不断的优化我们的Prompts内容。 那Prompts的中文意思是提示的意思。 Prompts的提示语有很多,最基础的用法就是: /imagine prompt…

【数据结构实验】查找(一)基于散列表的查找算法

文章目录 1. 引言2. 实验原理2.1 散列表2.2 线性探测法2.3 冲突解决 3. 实验内容3.1 实验题目&#xff08;一&#xff09;输入要求&#xff08;二&#xff09;输出要求 3.2 算法实现3.3 代码整合 4. 实验结果 1. 引言 本实验将通过C语言实现基于散列表的查找算法 2. 实验原理 …

Unity 场景切换

Unity场景切换可使用以下方法&#xff1a; 1、SceneManager.LoadScene()方法&#xff1a; using UnityEngine.SceneManagement;// 切换到Scene2场景 SceneManager.LoadScene("Scene2"); 2、使用SceneManager.LoadSceneAsync()方法异步加载场景&#xff0c;异步加载…

Python pandas对表格进行整行整列筛选、删除或修改,对特定值进行修改

Pandas库的使用 Pandas库&#xff1a;从入门到应用(二)–行列数据读写 Python数据处理工具 ——Pandas&#xff08;数据的预处理&#xff09; Pandas库有两个数据类型: Series, DataFrame Series 索引 一维数据DataFrame 行列索引 二维数据 DataFrame类型 DataFrame类型…

VMware虚拟机网络配置详解

vmware为我们提供了三种网络工作模式&#xff0c;它们分别是&#xff1a;Bridged&#xff08;桥接模式&#xff09;、NAT&#xff08;网络地址转换模式&#xff09;、Host-Only&#xff08;仅主机模式&#xff09; 打开vmware虚拟机&#xff0c;我们可以在选项栏的“编辑”下的…

U盘报错无法访问文件或目录损坏且无法读取

使用电脑打开U盘的部分文件时提示无法访问&#xff0c;文件或目录损坏且无法读取 报错内容如下图&#xff1a; 因为我这个U盘是那种双接口的 Type-C和USB&#xff0c;前段时间被我摔了一下 看网上说这种双接口的U盘USB接口容易坏掉 尝试在手机上使用OTG打开&#xff0c;先测试…

二叉树详讲(一)---完全二叉树、满二叉树、堆

1.树的概念及其结构 1.1树的概念 树是一种非线性数据结构&#xff0c;是一种种抽象数据类型&#xff0c;旨在模拟具有树状结构的节点之间的层次关系。一颗树由诺干个点和诺干条边组成。每棵树只有一个根节点&#xff0c;根节点向下延申又有子节点和叶子节点&#xff0c;叶子节…

Linux 命令vim(编辑器)

(一)vim编辑器的介绍 vim是文件编辑器&#xff0c;是vi的升级版本&#xff0c;兼容vi的所有指令&#xff0c;同时做了优化和延伸。vim有多种模式&#xff0c;其中常用的模式有命令模式、插入模式、末行模式&#xff1a;。 (二)vim编辑器基本操作 1 进入vim编辑文件 1 vim …

Kotlin学习——kt里的集合List,Set,Map List集合的各种方法之Int篇

Kotlin 是一门现代但已成熟的编程语言&#xff0c;旨在让开发人员更幸福快乐。 它简洁、安全、可与 Java 及其他语言互操作&#xff0c;并提供了多种方式在多个平台间复用代码&#xff0c;以实现高效编程。 https://play.kotlinlang.org/byExample/01_introduction/02_Functio…

【代码】考虑电解槽变载启停特性与阶梯式碳交易机制的综合能源系统优化调度matlab-yalmip-cplex/gurob

程序名称&#xff1a;考虑电解槽变载启停特性与阶梯式碳交易机制的综合能源系统优化调度 实现平台&#xff1a;matlab-yalmip-cplex/gurobi 代码简介&#xff1a;提出了一种考虑 变载启停特性的电解槽混合整数线性模型&#xff0c;根据电 氢负荷可以实时调整设备工作状态&…

android系统新特性——用户界面以及系统界面改进

用户界面改进 Android用户界面改进最明显的就是MD了。MD是Google于2014年推出的设计语言&#xff0c;它是一套完整的设计系统&#xff0c;包含了动画、样式、布局、组件等一系列与设计有关的元素。通过对这些行为的描述&#xff0c;让开发者设计出更符合目标的软件&#xff0c…