概述
一. 实验要求
通过键盘,分别输入两个数据元素类型为正整数的集合A和B,以负数输入为结束条件,输出两个集合的交、并、差。从程序完善性上考虑,集合元素输入时,要有检查元素重复的功能。集合可以用数组也可以用链表存储。
二. 实验目的
通过该实验,熟练掌握循环结构、循环控制条件、分支结构和数组/链表基本操作的实现,掌握函数参数设定的有关内容,体会到用数组存储集合时,需要记录集合元素的个数,否则输出结果会出现数据越界现象。
三. 设计思想
- 分别将数据输入到2个int类型的数组中,在输入过程中判断输入类型是否有误。
- 建立交并插集的函数,各一个,然后进行数组遍历,找到相同元素就把指针往前移动一位,最后把数组输出即可
四. 主要源代码
#include "iostream"
using namespace std;
void JiaoJi(int a[], int b[], int m, int n);
void BingJi(int a[], int b[], int m, int n);
void ChaJi(int a[], int b[], int m, int n);
void main()
{
int A[1000],B[1000];
int i=0,j=0,x=0,count1=0,count2=0;
cout<<"请连续输入集合A的数据,输入任意一个负数结束。"<<endl;
for(i=0;i<=1000;i++)
{
cin>>A[i];
if(!cin)
{
cout<<"您输入的不是整数类型,请重新输入!"<<endl;
cin.clear();
cin.sync();
}
else
{
if(A[i]<0)
{
count1=i;
break;
}
else
{
cout<<"您刚才输入的是第"<<i+1<<"个整数。"<<endl;
}
}
};
cout<<"集合A的数据为:";
for(i=0;i<count1;i++)
{
cout<<A[i]<<" ";
}
cout<<endl;
cout<<"请连续输入集合B的数据,输入任意一个负数结束。"<<endl;
for(i=0;i<=1000;i++)
{
cin>>B[i];
if(!cin)
{
cout<<"您输入的不是整数类型,请重新输入!"<<endl;
cin.clear();
cin.sync();
}
else
{
if(B[i]<0)
{
count2=i;
break;
}
else
{
cout<<"您刚才输入的是第"<<i+1<<"个整数。"<<endl;
}
}
};
cout<<"集合B的数据为:";
for(i=0;i<count2;i++)
{
cout<<B[i]<<" ";
}
cout<<endl;
JiaoJi(A,B,count1,count2);
BingJi(A,B,count1,count2);
ChaJi(A,B,count1,count2);
}
void JiaoJi(int a[], int b[], int m, int n)
{
cout<<"两集合交集:";
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
if(a[i]==b[j])
{
cout<<a[i]<<' ';
break;
}
}
}
cout<<endl;
}
void BingJi(int a[], int b[], int m, int n)
{
bool checkStatus;
cout<<"两集合并集:";
for(int i=0;i<m;i++)
{
checkStatus=true;
for(int j=0;j<n;j++)
{
if(a[i]==b[j])
{
checkStatus=false;
break;
}
}
if(checkStatus)
{
cout<<a[i]<<' ';
}
}
for(int j=0;j<n;j++)
{
cout<<b[j]<<' ';
}
cout<<endl;
}
void ChaJi(int a[], int b[], int m, int n)
{
bool checkStatus;
cout<<"两集合差集:";
for(int i=0;i<m;i++)
{
checkStatus=true;
for(int j=0;j<n;j++)
{
if(a[i]==b[j])
{
checkStatus=false;
break;
}
}
if(checkStatus)
{
cout<<a[i]<<' ';
}
}
cout<<endl;
}
五. 调试与测试数据
最后
以上就是微笑外套为你收集整理的数据结构入门----集合的交、并、差的全部内容,希望文章能够帮你解决数据结构入门----集合的交、并、差所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复