问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言编程 集合子集问题

发布网友 发布时间:2022-04-23 09:17

我来回答

2个回答

热心网友 时间:2023-07-20 05:00

#include<iostream> 
#include<string>
#include<fstream>
#include<conio.h>
using namespace std;
//定义集合的最大数量,可以自己修改
#define MAX_COUNT 100    
//集合使用数组来保存
int SetA[MAX_COUNT];
int SetB[MAX_COUNT];
int CountA = 0;   //集合A的长度
int CountB = 0;   //集合B的长度
///函数Contains,判定集合是否包含一个数
///@param set, 集合
///@param count, 集合Set中的元素个数
///@param value, 是否包含的值
///@return set包含value,返回true,否则返回false
bool Contains(int set[], int count, int value)
{
 for(int i = 0; i < count; i++)
  if(value == set[i])
   return true;
 return false;
}
//输入一个集合
void InputSet(int set[], int &count)
{
 string s;
 //读取这一行
 getline(cin, s);
 int i = 0;
 while(i < s.length() )
 {
  int spacePos = 0;
  spacePos = s.find(' ', i);      //查找空格下一个空格的位置
  if(spacePos < 0 || spacePos >= s.length() - 1)    //如果没有空格或者空格超出了字符串范围,跳出循环
   break;
  string temp = s.substr(i, spacePos - i);        
  if(temp == "")                                  //如果字符串为空,执行下一条
   continue; 
  int value = stoi(temp);
  if(!Contains(set, count, value))                //如果集合中已经包含此数字了,就不再添加
   set[count++] = value;
  i = spacePos + 1;
 }
 //读取最后一个数
 string temp = s.substr(i, s.length() - i);
 int value = stoi(temp);
 if(!Contains(set, count, value))
  set[count++] = value;
}
//判断是为setB是否为setA的子集
bool IsSubSet(int setA[], int countA, int setB[], int countB)
{
 for(int i = 0; i < countB; i++)
  if( !Contains(setA, countA, setB[i]))
   return false;
 return true;
}
void main()
{
 cout<<"注意:只能输入整数,并且数字之间以空格隔开。"<<endl<<endl;
 cout<< "请输入集合A:" <<endl;
 InputSet(SetA, CountA);
 cout<< "请输入集合B:" <<endl;
 InputSet(SetB, CountB);
 cout<<endl;
 cout<<"集合A和集合B比较结果"<<endl;
 if(IsSubSet( SetA, CountA, SetB, CountB))
  cout<<"集合B是集合A的子集"<<endl;
 else
  cout<<"集合B不是集合A的子集"<<endl;
 cout<<endl;
 cout<<"按任意键退出"<<endl;
 getch();
}

热心网友 时间:2023-07-20 05:01

#include <stdio.h>

#define A 5        //数组的大小采用宏定义,方便修改
#define B 3
void Contain (int a[], int num);
void Compare (int a[], int b[]);
int main ()
{
 int a[A] = {1, 2, 3, 4, 5};   //数组的元素可以自己设置去验证
 int b[B] = {1, 2, 6};
 int flag = 0;
 
 printf("Input a num:");
 scanf("%d", &flag);
 Contain (a, flag);
 Compare (a, b);
 return 0;
}
/*
a ∈ A ?
*/
void Contain (int a[], int num)
{
 int i;
 for(i=0; i<A; i++)
 {
  if(num == a[i])
  {
   printf("%d ∈ A\n", num);
   break;
  }
 }
// printf("i = %d\n", i);
 if(i == 5)
  printf("%d !∈ A\n", num);
 return;
}
/*判断集合B是否为集合A的子集 */
void Compare (int a[], int b[])
{
 int i, j;

 //如果b数组大小比a数组大
 if(sizeof(b)>sizeof(a))
 {
  printf("B不是A的子集.\n");
  return;
 }
 for(i=0; i<B; i++)
 {
  for(j=0; j<A; j++)
  {
   if(b[i] != a[i])
   {
    printf("B不是A的子集.\n");
    return;
   }
  }
 }
 printf("B是A的子集.\n");
}

追问1,2条件是两个不同的程序--。

追答

两个main?拆一下就行了我把文件上传给你吧,你看看这两个文件。

 

 

用C语言编写集合子集的程序怎么写?

\x0d\x0a{1 5},{2 5},{3 5},{4 5}就像这些子集,追赶者从1一直追赶到了4,然后与累积者{5}相遇,累积者变成{4 5};追赶者从头继续从1一直追赶到了3,然后与累积者{4 5}相遇,累积者变成{3 4 5};如此反复,可以把这个全部输出来。\x0d\x0a而累积者始终是连续的,比如{4 5}、{3 4 5}、{2...

用C语言编写集合子集的程序怎么写?

如下:#include#defineAMAX 6staticcharA[AMAX]={'a','b','c','d','e','f'};voidprint(intlen)//len为子集的大小,即元素的个数{inti,j,k;j=k=0;for(i=0;i{if(AMAX-ifor(j=0;j{printf("%c",A[i+j]);}printf("\n");}return;}intmain(){inti;for(i=1;i=AMAX;i...

给定两个集合A和B,判定A是否是B集合的子集,用C语言怎么写?

(1)输入A的元素个数,并输入各个元素;(2)输入B的元素个数,并输入各个元素;(3)看A重元素是否全部在B中,在就输出“A是B子集”;否则输出“A不是B子集”include &lt;stdio.h&gt; int main(){ int a[20] = { 0 }, b[30] = { 0 }, n, m, i, j,cnt = 0;//输入集合a的元素...

用C语言编写集合子集的程序怎么写?

如下:#include #define AMAX 6 static char A[AMAX] = {'a','b','c','d','e','f'}; void print(int len)//len为子集的大小,即元素的个数 { int i,j,k; j=k=0; for(i=0;i { if(AMAX-i for(j=0;j { printf("%c ",A[i+j]); } printf("\n"); } return...

判断A集合是B集合的子集。C语言的

//判断集合A是否为集合B的子集 int i ,j,k;cin&gt;&gt;m;//输入集合A的个数 cin&gt;&gt;n;//输入集合B的个数 for (i=1;i&lt;=m;i++){ for (j=1;j&lt;=n;j++){ if (a[i]==b[j])k++;} } if (k !=b.m )cout&lt;&lt;"集合A不是集合B的子集!"&lt;&lt;endl;=== 之前先用for循环给数组AB赋...

用C语言编写给定一个集合A,求A的所有非空子集。

int main (){ char A[25];gets(A);int i,t=0,k=0,h,number,l=strlen(A);int a[10]={1};number=(l-1)/2;h=pow(2,number)-1;for(t=1;t&lt;=h;t++){ printf("{");for(i=0;i&lt;number;i++){ if(a[i]){ if(k++)printf(",");printf("%c",i+97);} } k=0;p...

大一c语言求子集题目,求教

按照题目要求编写的打印字符的所有组合子集的C语言程序如下 include&lt;stdio.h&gt; include&lt;math.h&gt; void printall(char data[],int num){ int real_size=(int)pow(2,num);int i,j,k=0,total=0;printf("%d\n",real_size);for(i=0;i&lt;real_size;i++){ printf("{");for(j=0;j&lt;num;j...

...c,d,e,f}编写程序打印出A的所有非空子集 用C语言解决

F3(A)= C,F2(B)= E F4(A)= D,F4(B)= C F5(A)= D(二)中,f1 = D F6(A)= D,F1(B)= E F7(A)= E,F7(B)= C F8(A)= E,F8(B)= D F9(A)= E,F9(B)= E 总数:9 2。1)A = R,B = {Y | Y&gt; 0},F:X→| X |,比| 0 |...

集合a={1.2.3.4.5.6.7.8}在C语言里面怎么表示

4、A的非空真子集的个数是2的n次幂减二;5、空集是任意一个集合的子集,是任意一个非空集合的真子集;6、任何一个集合是它本身的子集,即A?A;空集只有一个子集,即它本身;7、集合的子集和真子集具有传递性:若A?B、B?C,则A?C;若A?B、B?C,则A?C。

已知有一集合A={a,b,c,d,e,f},要求编写程序打印A的所有非空子集(含A...

A = B = {A},然后X2 +(B +2)+1 = 0只有一个解X =一 韦达定理,我们有:+ = - (二2),一个* = 1 a = 1或-1 当α= 1时,b = -4 ×2 +斧+ b的=χ^ 2 +的X 4 = 0 1 =(-1 +根第17号)/ 2×2 =(-1 - 17的平方根)/ 2 C = {(-1 +根号17)...

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
三文鱼的保鲜秘诀有哪些? 二年级数学张明帮爸爸搬砖,每次搬4块,25块砖需要搬多少次? ...实际2小时后,有6人调走,余下的砖还需多少时间搬完? 江南饮碧螺春 一年轻级搬砖数学题半块算一块吗 碧螺春茶叶价格查询 两个人搬砖要9个小时.3个人要几个小时 求助:数学题,急急急! 碧螺春茶叶一斤多少钱? 碧螺春有很多绒毛能喝吗,碧螺春茶叶有绒毛正常吗(属于品质的体现) 被水泡过的书页,皱巴巴的,怎么才能把它弄平整? 墙上的开关插座能用胶粘吗? 丙烯颜料用什么笔比较好 天天对着电脑显示器背面坐,辐射大不大? 经常这样会有什么后果? 手机百度地图怎么收藏位置???急! 家用杀虫药有哪些? 家长希望与建议怎么写? 解释下批处理命令,详细点。 液晶显示器背光灯一个不亮 书湿皱了怎么恢复原样? 如何下载正在播放的视频? c set标签的target属性有什么作用 i310105fcpu可以配gtx1080显卡吗? 【求助】有关液晶显示器背部被太阳光照射的问题。 如何把弄褶皱的书复原? C++中set与multiset的区别。 i73770和i310105f哪个好 液晶显示器背板的作用?? c:set设置集合 湿了的书干了后会变皱。怎样能把书变成原来那样? 我家突然有了很多的蟑螂 请问在哪里能买到灭蟑螂的药?什么药最有效? 书皱了怎么办 戴尔显示器背后这几个口有什么用? 插座从墙里出来可以用胶带粘吗? 怎么区分液晶显示器的背光源? 丙烯颜料手绘用什么笔最好? 百度导航规划好的路线如何保存(安卓手机的百度导航) 书本被水弄湿了,变得皱皱的,要怎么样恢复原状?? 明基显示器背部有Hg标志,是什么意思?帮解答一下,谢谢 家里有蟑螂用什么蟑螂药最有效? 插头松动可以用透明胶粘上使之固定吗? 简单的家长意见和建议怎么写? 主机挂在显示器背部,是什么款的电脑? 用丙烯手绘的时候用什么笔 书被水沾湿,干了变皱怎么办? 插排固定胶的使用方法是什么? 家长建议怎么写最简单二年级 i310105f和i57400性能对比 家用蟑螂药哪种最好用 显示器背对阳光