小弟C++学不好,不会编下面这个集合运算的程序啊,请高手帮帮忙吧OTL

来源:百度知道 编辑:UC知道 时间:2024/07/07 03:37:08
集合的运算:交、并、补
全集:大写字母 ‘A’~’Z’
要求实现以下功能:
1、集合的输入:自动去掉重复和非法的字符
2、集合的显示:输出集合的全部元素
3、输出一个给定集合的补集
4、输出两个给定集合的交集和并集

输入、输出方法自行设计,要易于操作、不易死机

这里可以用特殊方法解,定义一个 char[26] *a的数组,开始值完设为0
读入字符,比如读入'C',则存在 a['C'-'A'] 中,这样就可以无重复

集合的补集就是判断是否为0,比如 a[3] ==0 就输出 'A'+3
交集就是如果两个数组同一项相交大于0, a[i] & b[i] > 0 就输出 'A'+ i
交集就是如果两个数组相等, a[i] == b[i] 就输出 'A'+i

思想在这里,代码没时间写了,这种方式速度应该是很快的,用空间换速度,在这个程序来说还是值得的

yutuo5的方法不错,而且现在的内存都那么大,26字节也算不上什么空间。