本文主要是介绍C++求差集,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
【问题描述】两个集合的差集定义如下:
集合A、B的差集,由所有属于A但不属于B的元素构成。
输入两个集合A、B,每个集合中元素都是自然数。求集合A、B的差集。
【输入形式】
从标准输入接收集合中的自然数元素,以空格分隔。-1表示输入结束。
其中,每个集合都不输入重复的元素。
【输出形式】
输出差运算后集合中的元素,以空格分隔。输出元素的顺序与原有集合A输入的顺序一致。
如果A、B的差集为空集,则不输出任何数值。
【样例输入】
2 8 3 4 -1
6 1 4 9 -1
【样例输出】
2 8 3
//求差集
#include<iostream>
using namespace std;
int main()
{int i,j,lengtha,lengthb;int A[100]={0},B[100]={0};i=0;j=0;while(1)//输入集合A{cin>>A[i];if(A[i]==-1)//输入-1时结束{break;}++i;}while(1)//输入集合B{cin>>B[j];if(B[j]==-1)//输入-1时结束{break;} ++j;}lengtha=sizeof(A)/sizeof(A[0]);lengthb=sizeof(B)/sizeof(B[0]);for(int a=0;a<lengtha;++a){for(int b=0,num=0;b<lengthb;++b){if(A[a]!=B[b]){num++;}if(num==lengthb&&a!=lengtha-1)//A中的数与B中每个数都比较一遍都不同再输出 {cout<<A[a]<<" ";}if(num==lengthb&&a==lengtha-1)//判断是否为最后一个数 {cout<<A[a]<<endl;} }}return 0;}
这篇关于C++求差集的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!