基于c语言的集合运算程序实现

基于c语言的集合运算程序实现

ID:28024785

大小:239.55 KB

页数:5页

时间:2018-12-07

基于c语言的集合运算程序实现_第1页
基于c语言的集合运算程序实现_第2页
基于c语言的集合运算程序实现_第3页
基于c语言的集合运算程序实现_第4页
基于c语言的集合运算程序实现_第5页
资源描述:

《基于c语言的集合运算程序实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、现有如下要求:对于一个集合,要求用计算机编码表示出来,其原则是:对一个元素个数确定的集合将其抽象为一个0、1代码组成的计算机编码,集合中存在的元素i其对应编码的第i个位置为1,若没有则为0,要求编写程序来实现集合间的运算,并且将结果用计算机编码表示出来!例如:{1,4,6}假设元素个数确定为8;则其计算机编码对应的为10010100代码部分:#include#include#defineTure1#defineFalse0//输出一个集合对应的计算机编码voidprint(intarr门){inti;for(i=0;i<8;i++)

2、{if(arr[i])printfC.o/od'Ture);elseprintf(H%dH,False);}printf(Hn);}//输出集合元素voidprinting(intarr[]){。inti;printf(”{”);for(i=0;i<8;i++)if(arr[i])printf(n%d",arr[i]);printf(H}bH);}//求一个集合的绝对补集voiddifferent(intarr[]){inti;printffA的绝对补集for(i=0;i<8;i++)if(!arr[i])printf(H%d",i+l);//输出补集

3、对应的元素项printf(nb}");printf(Hu);printf(n补集对应的计算机编码为At");for(i=0;i<8;i++){if(arr[i])printf("%d",False);elseprintf(n%dH,Ture);}printf(Hu);}//输入第二个集合的元素voidscan(intarrf]){inti;while(l){scanf(n%dn,&i);if(i〉=l&&i<=8)arr[i-l]=i;if(i==-l)////以负1为结束标志break;}printf("集合B={n);for(i二0;i<8;i++

4、)if(arr[i])printf(H%dn,i+l);//输出补集对应的元素项printf("b}");printf("H);printf("该集合对应的计算机编码为:t");print(arr);}//求已知两个集合的并集voidplus(intarr[],intarrl[])inti,arry[81={0};//对数组进行初始化时,先将数组中的元素全部置零for(i=0;i<8;i++){if(aiT[i]!=O)arry[i]=arr[i];if(arrl[i]!=O)arry[i]=arrl

5、i];}//printf("输出俩个集合的并集:")

6、;printf("为={");for(i=0;i<8;i++){if(arry[i])//对应位置不为0,说明集合屮有该项元素printf("%d",arry[i]);}printf("b}");printf("该集合对应的计算机编码为print(arry);}//求两个集合的交集voidsame(intarr[],intarrl[]){intj,thesame[8J={0};fora=0;j<8;j++)if(an-[j]!=0&&arrl[j]!=0)thesame[j]=arr[j];printf("输出俩个集合的交集:n);printf("A和B的

7、交集={");for(j=0;j<8;j++)if(thesame[j])//对应位置不力0,说明集合中有该项元素printf("%d",thesame

8、jj);printf(•’b}");printf("该集合对应的计算机编码为At");print(thesame);}//求两个集合的和对补集voidxdiffer(intarrfl,intarrlfl){intk,xdiffer[8]={0};for(k=0;k<8;k++)if(arr[k]!=O&&arrl[k]==0)xdifTer[k]=arr[k];printffB对A的相对补集为(即A-B):{

9、”);for(k=0;k<8;k++)if(xdiffer[k])//对应位置不为0,说明集合中有该项元素printf("%d",xdiffer[k]);printf(Hb}n);printf("对应的计算机编码为Atn);print(xdiffer);}voidmain(){inti,arry[8]={0},arryl[8]={0};//对数组进行初始化时,先将数组中的元素全部罝零intdiffer[81={0},differl[81={0};//定义两个数组,来存放求得的相对补集printf(n输入集合元素:n);whi

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。