集合的交运算

假设集合E包含A,B两个任意子集,称集合E为全集,集合的交运算为集合A,B中相同元素的集合,记为A∩B。若集合A,B之间无相同的元素,则交运算的结果为空集。例如:全集为全体整数,集合A={1,2,3,4},集合B={3,4,5,6},则A∩B={3,4}。

集合的并运算

假设集合E包含A,B两个任意子集,称集合E为全集,集合的并运算为集合A,B包含的所有元素去除重复元素后的集合,记为A∪B,例如:全集为全体整数,集合A={1,2,3,4},集合B={3,4,5,6},则A∪B={1,2,3,4,5,6}。

集合的差运算

假设集合E包含A,B两个任意子集,称集合E为全集,集合的差运算为集合A去除集合B中与集合A相同元素的集合,记为A−B。例如:全集为全体整数,集合A={1,2,3,4},集合B={3,4,5,6},则A−B={1,2}

集合的补运算

假设有全集E,集合A为全集E中的任意子集,集合A的补运算为不在集合A中的其他全集元素,记为Aˉ=E−A。例如:全集E={1,2,3,4,5},集合A={1,2,3,4},则E-A={5}

集合的对称差

假设集合E包含A,B两个任意子集,称集合E为全集,集合的对称差运算为集合A,B的并集中去除集合A,B中相同的元素,记为A⊕B=(A∪B)−(A∩B)。例如:全集为全体整数,集合A={1,2,3,4},集合B={3,4,5,6},则A⊕B={1,2,5,6}

编程要求

根据提示,练习集合的基本运算法则。

提示:

例子:全集为E={1,2,3,4,5},集合A,B的互为补集,验证E-A=B:

#include<iostream>
using namespace std;
int PanDuan(int *a, int n, int b) //判断b是否在a中
{int i;for (i = 0; i < n; i++) {if (b == a[i])return 1;}return 0;
}
int main()
{int n, m;int i, j;int a[100], b[100],c[100];int cnt = 0;cin >> n;for (i = 0; i < n; i++){cin >> a[i];}cin >> m;for (i = 0; i < m; i++){cin >> b[i];}for (i = 0; i < m; i++){if (PanDuan(a, n, b[i])){c[cnt++] = b[i];}}cout << "交集为:" << endl;for (i = 0; i < cnt; i++){cout << c[i] << ' ';}cout << endl << "a-b差为:" << endl;for (i = 0; i < cnt; i++){if (PanDuan(a, n, c[i])){int qwq;for (int k = 0; k < n; k++){if (c[i] == a[k]) qwq = k;}for (j = qwq; j <= n; j++){a[j] = a[j + 1];}n--;}}for (i = 0; i < n; i++){cout << a[i] << " ";}cout << endl << "b对于a的补集为:" << endl;for (i = 0; i < cnt; i++){if (PanDuan(a, n, c[i])){int qwq;for (int k = 0; k < n; k++){if (c[i] == a[k]) qwq = k;}for (j = qwq; j <= n; j++){a[j] = a[j + 1];}n--;}}for (i = 0; i < n; i++){cout << a[i] << " ";}cout << endl << "并集为:" << endl;for (i = 0; i < n; i++){cout << a[i] << " ";}for(i = 0; i < m; i++){cout << b[i] << " ";}cout << endl << "对称差:" << endl;for (i = 0; i < cnt; i++){if (PanDuan(b, m, c[i])){int qwq;for (int k = 0; k < m; k++){if (c[i] == b[k]) qwq = k;}for (j = qwq; j <= m; j++){b[j] = b[j + 1];}m--;}}for (i = 0; i < n; i++){cout << a[i] << " ";}for (i = 0; i < m; i++){cout << b[i] << " ";}return 0;
}

离散数学实验(三)集合的基本运算相关推荐

  1. 离散实验偏序关系满足实验报告C语言,离散数学实验三

    <离散数学实验三>由会员分享,可在线阅读,更多相关<离散数学实验三(6页珍藏版)>请在人人文库网上搜索. 1.实 验 报 告(2014 / 2015 学年 第 一 学期)课程名 ...

  2. 数据结构 实验三 栈的基本运算

    栈的基本运算 任务一: 顺序栈的基本操作 任务描述: 本关任务:实现顺序栈的基本操作,包括栈的初始化.置空栈.进栈.出栈.判栈空.栈的输出(遍历)等. 相关知识: 为了完成本关任务,你需要掌握: - ...

  3. 离散数学实验三则(关系元算,集合运算与操作,最短路)

    前言 前段时间才做了离散实验的实验报告,为防止在本地遗失,所以上传到CSDN上一份,欢迎大家一起学习 实验1 关系元算 实验报告内容 一.实验目的 熟悉掌握命题逻辑中的联结词.真值表.主范式等,进一步 ...

  4. 离散数学实验题目-集合

    离散数学实验报告 计算机科学与技术系 目录 第一章 实验概述 3 1.1 实验目的 3 1.2 实验内容 3 1.3 实验环境 3 第二章 实验原理和实现过程 4 2.1 实验原理 4 2.2 实验过 ...

  5. 离散实验偏序关系满足实验报告C语言,离散数学实验三:偏序关系中盖住关系的求取及格论中有补格的判定...

    离散数学实验报告 我希望我能骄傲的走下去!大家每天都要开心向上哦! 题目:输入n,求1~n 中的满足整除关系的因子.再根据盖住关系的原理求盖住关系.最后判断是否为有补格.任意输入一个整数作为n 值. ...

  6. 南邮数据结构实验三---图的基本运算及飞机换乘次数最少问题

    一. 实验目的和要求 1.掌握在图的邻接矩阵和邻接表存储结构实现图的基本运算的算法.学习使用图算法解决应用问题的方法. (1). 验证教材中关于在邻接矩阵和邻接表两种不同存储结构上实现图的基本运算的算 ...

  7. 离散实验3 集合的基本运算 (编程要求 根据提示,练习集合的基本运算法则)

    集合的交运算 假设集合E包含A,B两个任意子集,称集合E为全集,集合的交运算为集合A,B中相同元素的集合,记为A∩B.若集合A,B之间无相同的元素,则交运算的结果为空集.例如:全集为全体整数,集合A= ...

  8. 南京邮电大学离散数学实验三:编程实现整除关系这一偏序关系上所有盖住关系的求取,并判定对应偏序集是否为格

    实验原理及内容 说明:这部分内容主要包括: 1.形式化描述实验中所使用的数据结构和存储结构,给出函数之间的调用关系和数据传递方式: 2.给出核心算法的C++或Java等语言的源代码,并加上详细注释,分 ...

  9. 南京邮电大学离散数学实验三(传递性,自反性,对称性)

    public class Math {private int[] factor = new int[100];// 存数的所有因子private int count = 0; // 因子计数器priv ...

  10. C语言求幺元的函数,离散数学实验指导书及其答案.doc

    实验一 命题逻辑公式化简 [实验目的]加深对五个基本联结词(否定.合取.析取.条件.双条件)的理解.掌握利用基本等价公式化简公式的方法. [实验内容]用化简命题逻辑公式的方法设计一个表决开关电路. 实 ...

最新文章

  1. malloc动态分配多维数组
  2. 面试(之)三赴上海易传媒—揭秘之旅
  3. 周永亮 《我是职业人》
  4. Android爬坑之旅之WebView
  5. 学习react心得及总结
  6. 「C语言」数据类型及混合运算与类型转换
  7. “吃神么,买神么”的第三个Sprint冲刺总结
  8. Vue013_ vue组件化编码
  9. Java对象内存布局
  10. c面向对象 java_JAVA基础--面向对象08
  11. 象棋名手3.26版本32位六核完美破解版,含第四代无敌开局库。
  12. Virtualbox 桥接网卡 详细教程
  13. 【资料】分享北京某培训机构全部学习课程加个人的一些学习上的建议
  14. 【化学信息学|机器学习】分子亲和力(Kd,Ki,IC50)
  15. html 播放微信amr音频文件,如何在微信中播放amr格式的文件?
  16. matlab画单位圆的代码,请问用MATLAB软件,以动画的形式作出单位圆x^2 +y^2 = 1的图像的程序代码是什么?...
  17. 四旋翼无人机的三维动态Matlab仿真
  18. C语言基础(十三)系统错误信息
  19. 不同PyTorch版本训练同一个代码结果差异巨大
  20. 七、傻妞对接公众号教程

热门文章

  1. 飞机大战(案例详解)
  2. 2015阿里校园招聘测试开发面试经验(广州站)
  3. Halcon学习笔记_05:一维码、二维码
  4. Redis内存数据库的应用场景
  5. 【松岩早盘视点】2019-09-30
  6. 酒店智能门锁方案功能及其特点介绍
  7. 【每日知识】res是什么意思?
  8. 【Java开发岗:SpringCould篇】
  9. 机器人周志_唐骏:机器人时代已如梦初醒
  10. jmeter原件使用