求集合的笛卡尔乘积

简介: 求集合的笛卡尔乘积

一:【实验目的】

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

【实验心得】

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

目录
打赏
0
0
0
0
0
分享
相关文章
Langchain中改进RAG能力的3种常用的扩展查询方法
有多种方法可以提高检索增强生成(RAG)的能力,其中一种方法称为查询扩展。我们这里主要介绍在Langchain中常用的3种方法
635 0
Jieba分词的准确率提升:使用paddle模式进行分词(使用百度飞桨深度学习模型进行分词)
jieba中的paddle模式是指使用飞桨(PaddlePaddle)深度学习框架加速分词的一种模式。相对于传统的分词算法,paddle模式采用了深度学习模型,可以获得更高的分词准确度和更快的分词速度。
|
8月前
|
ide工具
ide工具
200 8
探索 GraphQL:现代 API 开发的新范式
GraphQL 是一种高效的 API 查询语言,允许客户端精确请求所需数据,避免了传统 RESTful API 中的数据冗余问题。它由 Facebook 开发并开源,现广泛应用于现代 Web 和移动应用。本文将介绍 GraphQL 的核心概念、优势及其在不同场景下的应用,并指导你如何构建和优化 GraphQL API。
求一个3*3矩阵对角线元素之和
求一个3*3矩阵对角线元素之和
160 3
模块化RAG技术路线图:从基础Naive RAG 到Modular RAG全方位技术解读
【8月更文挑战第12天】模块化RAG技术路线图:从基础Naive RAG 到Modular RAG全方位技术解读
2007 9
模块化RAG技术路线图:从基础Naive RAG 到Modular RAG全方位技术解读
AI战略丨物流 AI 新变化,用大模型定义
物流企业在大模型上纷纷主动探索,也在推动物流行业实现智能化加速。
天猫店铺商品数据接口集成指南与实战技巧
**天猫商品API概览** - **接口**: Tmall.item_search_shop, 获取店铺商品详情。 - **功能**: 开发者可获取商品标题、价格、销量等。 - **流程**: 注册天猫开放平台账户→获App Key/Secret→获取Access Token→构建URL调用API→解析JSON响应。 - **参数**: 包含店铺ID、页码、数量等。 - **返回**: JSON格式的商品列表。 - **应用**: 商品管理、电商应用开发、数据分析。此API助力商家高效管理、提升用户体验。
您的智能测试助理来了!蚂蚁TestAgent开源,快来体验!
TestAgent 旨在构建测试领域的“智能体”,融合大模型和质量领域工程化技术,促进质量技术代系升级。我们期望和社区成员一起合作,打造创新的测试领域解决方案,构建24小时在线的测试助理服务,让测试如丝般顺滑。 很高兴地宣布,我们在国内首次开源了测试行业大模型及工具——TestAgent。本次版本包含了性能最强的7B测试领域大模型,以及配套的本地模型快速发布和体验工程化框架,欢迎体验和关注!
2337 0
您的智能测试助理来了!蚂蚁TestAgent开源,快来体验!
Transformers 4.37 中文文档(十九)(2)
Transformers 4.37 中文文档(十九)
663 1
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问