对集合的交并补运算、差运算及异或运算的代码,可输入字符与数字,内容简单,详情请看以下代码

#include

using namespace std;

int main()

{

//全集u

char u[] = {'a','b','c','d','e','f','g','h'};

char a[] = {'a','b','c','g'};

char b[] = {'d','e','f','g'};

char c[] = {'a','c','f'};

char d[] = {'f','h'};

--------------------以下内容可输入操作---------------------------

// cout << "请分别输入全集U、集合A、集合B、集合C、集合D的个数:" ;

// int uu,aa,bb,cc,dd;

// cin >> uu >> aa >> bb >> cc >> dd;

// char u[uu],a[aa],b[bb],c[cc],d[dd];

// cout << "请输入集合U中" << uu << "个元素:";

// cin >> u;

// cout << "请输入集合A中" << aa << "个元素:";

// cin >> a;

// cout << "请输入集合B中" << bb << "个元素:";

// cin >> b;

// cout << "请输入集合C中" << cc << "个元素:";

// cin >> c;

// cout << "请输入集合D中" << dd << "个元素:";

// cin >> d;

--------------------以上内容可输入操作---------------------------

//交运算b交c

int bn = sizeof(b);

int cn = sizeof(c);

cout << "B∩C:";

for(int i = 0;i < bn;i++)

{

for(int j = 0;j < cn;j++)

{

if(b[i] == c[j])

{

cout << b[i] << " ";

}

}

}

cout << endl;

//并运算a并b

int an = sizeof(a);

cout << "A∪B:";

for(int i = 0;i < an;i++)//并运算操作,先输出一个字符数组,再对另一个字符数组进行挑选

cout << a[i] << " ";

for(int i = 0;i < bn;i++)

{

int flag = 1;

for(int j = 0;j < an;j++)

{

if(b[i] == a[j])//两元素相同 ,则不需要该元素,因为之前已经输出过该元素了

{

flag = 0;

}

}

if(flag == 1)

{

cout << b[i] << " ";

}

}

cout << endl;

//差运算g = b - d

int dn = sizeof(d);

cout << "B-D :";

//差运算解释:在集合B中除去集合D中含有的元素

for(int i = 0;i < bn;i++)//两层循环对两个数组依次遍历,不符合差运算条件的即不输出跳过

{

int flag = 1;

for(int j = 0;j < dn;j++)

{

if(b[i] == d[j])

{

flag = 0;

}

}

if(flag == 1)

{

cout << b[i] << " ";

}

}

// for(int i = 0;i < dn;i++)

// {

// int flag = 1;

// for(int j = 0;j < bn;j++)

// {

// if(d[i] == b[j])

// {

// flag = 0;

// }

// }

// if(flag == 1)

// {

// cout << d[i] << " ";

// }

// }

cout << endl;

//非运算h=非d

int un = sizeof(u);

cout << "﹁D :";

for(int i = 0;i < un;i++)//非运算对全集u进行操作

{

int flag = 1;

for(int j = 0;j < dn;j++)

{

if(u[i] == d[j])

{

flag = 0;

}

}

if(flag == 1)

{

cout << u[i] << " ";

}

}

cout << endl;

//b异或c

//异或运算的公式为 b异或c=(b-c)并上(c-b)

//解决集合异或问题,将分为两步进行

//b-c

// cout << "B-C :";

cout << "B异或C:";

int m = 0;

char zuo[m];//定义集合b-集合c,将结果存储在字符数组zuo中

for(int i = 0;i < bn;i++)

{

int flag = 1;

for(int j = 0;j < cn;j++)

{

if(b[i] == c[j])//如果两个元素相同,则说明重复了,此if语句为了排出重复元素的

{

flag = 0;

}

}

if(flag == 1)

{

zuo[m++] = b[i];//将满足条件的元素记录并输出

cout << b[i] << " ";

}

}

// for(int i = 0;i < m;i++)

// cout << zuo[i] << " ";

// cout << endl;

//c-b

// cout << "C-B :";

for(int i = 0;i < cn;i++)//计算出集合C-集合B,在过程中对满足条件的元素继续进行判断,看是否与集合B-集合C中的元素重复

{

int flag = 1;

for(int j = 0;j < bn;j++)

{

if(c[i] == b[j])//同上

{

flag = 0;

}

}

if(flag == 1)//对已满足集合C-集合B的元素继续判断是否与zuo数组中的元素是否有相同的,以下步骤即为合并俩集合并且输出

{

int flag1 = 1;

for(int k = 0;k < m;k++)

{

if(zuo[k] == c[i])

flag1 = 0;

}

if(flag == 1)

cout << c[i] << " ";

// you[n++] = c[i];

// cout << c[i] << " ";

}

}

// for(int i = 0;i < n;i++)

// cout << you[i] << " ";

return 0;

}

静态运行结果:

动态运行结果:

此代码为实验的要求,我用了一整个晚上的时间去实现这个我理想的目的,勉勉强强算是完成了

最重要的是在于对离散数学中,集合的交并补、差运算、异或运算的理解,重在理解与应用,才能抽象出模型

代码有点乱,但是思路还是在那的,认真看应该能理解。

离散数学求交并差java代码_离散数学交并补运算、差运算、异或运算的实现--biaobiao88...相关推荐

  1. java 奥运五环_[求助]求奥运五环 java代码

    [求助]求奥运五环 java代码 求奥运五环 java小程序代码,急用!新手先谢过了! 搜索更多相关的解决方案: 奥运五环  java  代码 ----------------解决方案-------- ...

  2. Java中「与运算,或运算,异或运算,取反运算。」

    Java中「与运算,或运算,异或运算,取反运算.」 文章目录 Java中「与运算,或运算,异或运算,取反运算.」 Java中的「与运算(AND) & 」 规则 :都为1时才为1,否则为0 Ja ...

  3. 什么是异或_异或运算及异或运算的作用

    什么是异或_异或运算及异或运算的作用 异或,是一个数学运算符,英文为exclusive OR,缩写为xor,应用于逻辑运算. 异或的数学符号为"⊕",计算机符号为"xor ...

  4. java中的或运算_java中的(或运算,异或运算,与运算)

    java中或运算.异或运算.与运算的使用实例和解释如下: public class Test {    public static void main(String[] args) { // 1.左移 ...

  5. 给定下面的java代码_则运行_会产生类型的异常_JavaSE_笔试题_单选选择题

    JavaSE_笔试题_单选选择题1 1. 下面哪一种描述是正确的()? A:abstract修饰符可修饰字段.方法和类. B:抽象方法的body部分必须用一对大括号{}包住. C:声明抽象方法,大括号 ...

  6. 希尔排序java代码_希尔排序及希尔排序java代码

    由上图可看到希尔排序先约定一个间隔(图中是4),然后对0.4.8这个三个位置的数据进行插入排序,然后向右移一位对位置1.5.9进行插入排序按照此规律直到全部参与了排序.然后将间隔约定为4-1=3,然后 ...

  7. 基础贴吧java代码_原来你是这样的JAVA[01]-基础一瞥

    1.Java是什么呢? Java不仅是一门语言,而且是一个完整的平台,有一个庞大的库,其中包含了很多可重用的代码和一个提供安全性.跨操作系统的可移植性以及自动垃圾收集等服务的执行环境. 2.JDK 和 ...

  8. 连连看java代码_连连看 - java代码库 - 云代码

    [java]代码库/* * To change this license header, choose License Headers in Project Properties. * To chan ...

  9. 关联规则java代码_重量挖掘关联规则挖掘方法,哪个大神可以将以下伪代码转换为Java代码?...

    重量挖掘关联规则挖掘方法,哪个大神可以将以下伪代码转换为Java代码? 10 改进的加权关联规则算法的基本步骤与Apriori算法相似: 首先找到加权支持度不小于用户指定的最小加权支持度的所有频繁项集 ...

  10. amd cpu不能在cmd环境下运行java代码_「我们一起学Java02」JDK、JRE、JVM简介,Java开发平台的搭建...

    Hello,各位头条的读者大家好!接下来一段时间小编将和大家一起学习Java,"我们一起学Java"专题将会持续更新,欢迎大家关注.这里是"我们一起学Java" ...

最新文章

  1. 进击时代!王雪红的谦卑与坚守
  2. NeHe OpenGL教程 第四十课:绳子的模拟
  3. S3C6410的SPI控制器
  4. php中echo js代码,JS有没类似PHP的echo效果?
  5. java applet退出功能_java-如何使用内置在applet中的Button在浏览器中停止applet?
  6. 使用未初始化的内存是什么意思_单根内存条的极限容量是多少?内存条上的2R X 8代表了什么意思?...
  7. 18.self关键字.rs
  8. Tornado報錯AttributeError: Unrecognized option 'port'
  9. A股开盘:深证区块链50指数涨0.94%,*ST晨鑫涨停
  10. (转载)Android content provider基础与使用
  11. centos 6 与 centos 7 服务开机启动、关闭设置的方法
  12. OpenGL 编程指南 ( 原书第 9 版 ) --- 第一章
  13. html 如何在按钮中加字,html button标签 语法
  14. 缺陷管理工具--mantis使用过程
  15. 【python】耗时统计小程序
  16. MySQL-存储表情字符
  17. Windows 防火墙日志相关
  18. 好用的识别植物的软件app合集分享,快码住了
  19. Mapping Spiking Neural Networks的论文汇总以及思考
  20. 全球圣诞节离不开义乌!义乌购发布圣诞用品搜索热度指数;阿迪达斯将成为Jr. NBA中国官方市场合作伙伴 | 美通社头条...

热门文章

  1. 通讯录管理系统 指针 链表 学生管理系统 人员管理系统
  2. Python爬虫 批量采集京东商品数据,实时了解商品价格走势
  3. librtmp 源码分析笔记 ReadN
  4. ae效果英文版翻译对照表_AE特效常用中英文对照
  5. php5.0 cms安装教程,小浣熊CMS5.0漫画系统安装教程和采集教程
  6. 如何软件自动生成延时函数
  7. 课程设计 计算机公共基础,基于Moodle的大学计算机公共基础课程设计.pdf
  8. 中兴网络设备交换机路由器查看所有端口光功率命令
  9. 对话PPIO联合创始人王闻宇:整合边缘算力资源,开拓更多音视频服务场景
  10. Java中级面试题及答案(120道Java中级面试题大汇总)