作业帮 > 数学 > 作业

设集合A={a1,a2,a3,am},B={b1,b2,bn},求C=A○B=〔A-B〕∪〔B-A〕=〔A∪B〕-〔A∩

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:数学作业 时间:2024/05/14 15:34:36
设集合A={a1,a2,a3,am},B={b1,b2,bn},求C=A○B=〔A-B〕∪〔B-A〕=〔A∪B〕-〔A∩B〕〈集合的对称运算

设集合A={a1,a2,a3,am},B={b1,b2,bn},求C=A○B=〔A-B〕∪〔B-A〕=〔A∪B〕-〔A∩B〕〈此运算称为集合

设集合A={a1,a2,a3,am},B={b1,b2,bn},求C=A○B=〔A-B〕∪〔B-A〕=〔A∪B〕-〔A∩
画图可知 6)中函数所求的集合为 3个互相相交的圆的不相交部分的并.
简证:设这三个圆为ABC 先求AoB 将其涂上阴影,然后将阴影部分整体作为X 做XoC 可得
AoBoC = 三个圆不相交部分的并集.
因此 所求即为由容斥原理: AUBUC-(A∩B+A∩C+B∩C)+A∩B∩C
题目中所述的"函数内部分别调用上述 求并 求交函数",意思就是这些个函数已经是有的了.那么
void symmetric_diffrence(int *A, int *B, int *C, int a, int b, int c) {
int * result; // 结果的指针 int size = 0; // 结果大小
result = GetSum(int *A, int *B, int *C, int a, int b, int c , int size) - GetReduce(int *A, int *B, int a, int b, int size) - GetReduce(int *A, int *C, int a, int c, int size) - GetReduce(int *B, int *C, int b, int c, int size) +GetReduce(int *A, int *B, int *C, int a, int b, int c, int size)
// print ---result size---- 输出对称差运算的结果
return;
}
其中 GetReduce是求交集运算 GetSum是求并集运算,此处需要重载GetReduce函数(如果你用的是C++或java) 以满足对不同入参的匹配.
以上.
再问: C++
再答: 如果你比较懒,不想用重载函数,其实换个函数名字就没问题了。 重载函数请参阅相关书籍,总的来说就是先声明一个类型,然后将同样的函数名以不同的入参定义,C++编译机在匹配函数的时候会根据入参一一匹配,这是更加面向对象的一种编程方法,不影响此处的做题。