交集并集
来源:互联网 发布:gtv网络棋牌频道如何看 编辑:程序博客网 时间:2024/06/05 17:52
http://www.cppleyuan.com/viewthread.php?tid=4457
//输入集合A、B和全集C,求两集合的交集、并集、补集、差集
/*
并集:以属于A或属于B的元素为元素的集合成为A与B的并(集)
交集: 以属于A且属于B的元素为元素的集合成为A与B的交(集)
差:以属于A而不属于B的元素为元素的集合成为A与B的差(集)
补集:A的补集C-B
*/
/*
例如:A={1,2,3} B={2,3,4} C={1,2,3,4,5}
AB并集为={1,2,3,4}
交集为={2,3}
A补集={4,5}
AB差集为={1}
*/
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> A,B,C;
int temp;
cout<<"input A,finished by a character"<<endl;
while(cin>>temp)
A.push_back(temp);
cin.clear() ;//清除错误状态
cin.ignore() ;//跳过无效数据
cout<<"input B,finished by a character"<<endl;
while(cin>>temp)
B.push_back(temp);
cin.clear() ;
cin.ignore() ;
cout<<"input C,finished by a character"<<endl;
while(cin>>temp)
C.push_back(temp);
cin.clear();
cin.ignore();
//求交集
vector<int> AND;
for(int i=0;i<A.size();i++)
for (int j=0;j<B.size();j++)
if(A[i]==B[j])
AND.push_back(B[j]);
cout<<"交集为"<<endl;
//显示交集
for(i=0;i<AND.size();i++)
cout<<AND[i]<<" ";
cout<<endl;
//求并集
AND.clear();
//先把A的元素依次加入
for(i=0;i<A.size();i++)
AND.push_back(A[i]);
//加入B中有且与A的每一个元素都不相等的元素
for(int j=0;j<B.size();j++)
{
int k=0;
for(i=0;i<A.size();i++)
if(B[j]!=A[i])
k++;
if(k>=A.size())
AND.push_back(B[j]);
}
//显示并集
cout<<"并集为"<<endl;
for(i=0;i<AND.size();i++)
cout<<AND[i]<<" ";
cout<<endl;
return 0;
}
- 交集并集
- 交集,减集,并集
- 并集减去交集
- 交集 并集 差集
- 交集差集并集
- oracle 交集和并集
- mapReduce 求交集---并集---
- mysql取差集、交集、并集
- 用链表写数学交集并集
- 矩形并集交集模板
- STL算法交集、并集、差集
- JAVA 交集,差集,并集
- 求交集、并集和差集
- C#求交集差集并集
- JAVA Set 交集,差集,并集
- 集合求取并集交集补集
- oracle 交集,并集,差集
- List实现:交集,并集,差集
- Android wifi模块
- C++ 得到数组长度
- 采用多播传送FIX行情数据的推荐方案
- .Net web :点击button后台打开新页面
- 【配置文件】SSH配置文件-1
- 交集并集
- [Oracle]--Library cache lock 故障解决一例 oracle10g
- Nginx 配置域名映射、跳转
- Android wifi相关添加流程
- Android wifi调试过程
- 个人使用GVim的快捷键
- Android移植之WIFI
- mongodb指南(二十) - developer zone - 索引(四)地理信息索引
- 四极管 Windows CE 5.0 数据类型大全