怎样用语言c语言实现集合的合并,交集?
voidbing(chara[],charb[],intm,intn)//并集{chard[400];inti=0,j=0,s=m;for(i=0;i<m;i++)d[i...
void bing(char a[],char b[],int m,int n) //并集
{ char d[400];
int i=0,j=0,s=m;
for(i=0;i<m;i++)
d[i]=a[i];
for(i=0;i<m;i++)
for(j=0;j<n;j++)
{
if(b[j]!=a[i])
{d[s]=b[j];s++;}
}
cout<<"集合并集是:";
for(i=0;i<s;i++)
cout<<d[i]<<" ";
}
这是我的并集程序,,输出来的总是把b集合的字符输出两遍,这是为什么 展开
{ char d[400];
int i=0,j=0,s=m;
for(i=0;i<m;i++)
d[i]=a[i];
for(i=0;i<m;i++)
for(j=0;j<n;j++)
{
if(b[j]!=a[i])
{d[s]=b[j];s++;}
}
cout<<"集合并集是:";
for(i=0;i<s;i++)
cout<<d[i]<<" ";
}
这是我的并集程序,,输出来的总是把b集合的字符输出两遍,这是为什么 展开
4个回答
展开全部
通过你描述的问题,正确的交集代码如下:
void bing(char a[],char b[],int m,int n)
{ char d[400];
int i=0,j=0,s=m;
for(i=0;i<m;i++)
d[i]=a[i];
for(i=0;i<n;i++){
for(j=0;j<m;j++)
{
if(b[i]==a[j]) break;
}
if(j==m) d[s++]=b[i];
}
cout<<"集合并集是:";
for(i=0;i<s;i++)
cout<<d[i]<<" ";
}
void bing(char a[],char b[],int m,int n)
{ char d[400];
int i=0,j=0,s=m;
for(i=0;i<m;i++)
d[i]=a[i];
for(i=0;i<n;i++){
for(j=0;j<m;j++)
{
if(b[i]==a[j]) break;
}
if(j==m) d[s++]=b[i];
}
cout<<"集合并集是:";
for(i=0;i<s;i++)
cout<<d[i]<<" ";
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我觉得你这个程序会是:A集合里有几个元素。B集合里的元素就会输出几次。
应该改成下面这样:
for(i=0;i<n;i++){
for(j=0;j<m;j++)
{
if(b[i]==a[j]) break;
}
if(j==m) d[s++]=b[i];
}
应该改成下面这样:
for(i=0;i<n;i++){
for(j=0;j<m;j++)
{
if(b[i]==a[j]) break;
}
if(j==m) d[s++]=b[i];
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
同时遍历两个集合 相同的值填入新集合即为并 出现过的值填入心机和即为交
你先把a[i]的值都赋给d[i] 如果a中有重复的值呢?
我认为你应该遍历a[],b[]中的元素 并且查询当前的d[],如果d[]中没有则插入d[]中。
你先把a[i]的值都赋给d[i] 如果a中有重复的值呢?
我认为你应该遍历a[],b[]中的元素 并且查询当前的d[],如果d[]中没有则插入d[]中。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
通过你描述的问题,正确的交集代码如下:
void
bing(char
a[],char
b[],int
m,int
n)
{
char
d[400];
int
i=0,j=0,s=m;
for(i=0;i<m;i++)
d[i]=a[i];
for(i=0;i<n;i++){
for(j=0;j<m;j++)
{
if(b[i]==a[j])
break;
}
if(j==m)
d[s++]=b[i];
}
cout<<"集合并集是:";
for(i=0;i<s;i++)
cout<<d[i]<<"
";
}
void
bing(char
a[],char
b[],int
m,int
n)
{
char
d[400];
int
i=0,j=0,s=m;
for(i=0;i<m;i++)
d[i]=a[i];
for(i=0;i<n;i++){
for(j=0;j<m;j++)
{
if(b[i]==a[j])
break;
}
if(j==m)
d[s++]=b[i];
}
cout<<"集合并集是:";
for(i=0;i<s;i++)
cout<<d[i]<<"
";
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询