c++中 求两个数集的并集时,怎样输入这两个大小不确定的数集??请多多指教!

若事先定义a[100],b[100]来存放输入的两个数集,又该如何用while循环输入数组元素??... 若事先定义a[100],b[100]来存放输入的两个数集,
又该如何用while循环输入数组元素??
展开
 我来答
memberwin
2011-07-01 · TA获得超过3903个赞
知道大有可为答主
回答量:1000
采纳率:100%
帮助的人:497万
展开全部
可以先要求用户输入各个数集的大小啊
比如数集a的大小为N,则输入可以这么写
int i = 0;
while(i < N)
{
cin>>a[i];
i++;
}
当然也可以加一些cout输出一些提示

另外也可以约定输入一个什么数字表示结束,比如如果要求数集的元素都是正数,则可以约定输入-1时表示数集输入结束,但此种方法对含有负数的数集就不起作用了
int i =0;
cin>>a[i];
while(a[i] != -1)
{
i++;
if(i == 100)
break;
cin>>a[i];
}
这个执行完之后,记得要把i保存起来,i大小就是这个数集的大小
追问
这是那个程序 输入完数组后的一段程序,运行结果不对,麻烦看一下。多谢!!

bool flag=true;
int m=j-1;
int n=j;
for(i=i-1;i>=0;i--)
{
for(j=m;j>=0;j--)
{
if(a[i]=b[j])
{
flag=false;
break;
}
}
if(flag)
b[n++]=a[i];
}
for(j=0;j<=n-1;j--)
cout<<b[j]<<" ";
cout<<endl;
}
追答
flag在内层循环被设置为false之后没在外层循环里重新设置啊
for(i=i-1;i>=0;i--)
{
flag = true; //这儿要重新设置flag标志,否则flag就一直false了
for(j=m;j>=0;j--)
{
if(a[i]=b[j])
{
flag=false;
break;
}
}
if(flag)
b[n++]=a[i];
}
kanzheli999
2011-07-01 · TA获得超过108个赞
知道答主
回答量:61
采纳率:0%
帮助的人:41.4万
展开全部
int i=0;
while(i<100)
{
cin<<a[i];
cin<<b[i];
i++;
}
追问
若输入的数组不一定是小于100个元素呢??
追答
int i=0;
int n;
cin<<n;
while(i<n)
{
cin<<a[i];
cin<<b[i];
i++;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
icecoobe
2011-07-01 · TA获得超过1989个赞
知道小有建树答主
回答量:1058
采纳率:100%
帮助的人:1096万
展开全部
关于动态数组
int count;
cin>>count; // 输入数组长度
int *array1 = new int[count];
.......

// 最后的资源回收
delete[] array1;
其实完全可以将数据输入在文件里,然后读取数据,统计数组a有多少数据,建立动态数组;同样的方法建立B数组.
当然也可以按照楼上几位写的那样去输入~~视需求而定

还需要给你写下代码么~~
更多追问追答
追问
不麻烦前辈了,多谢前辈不吝赐教!
追答
互相学习,祝你好运,有问题可以找我交流,coolchae@gmail.com Luke Chen
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-07-06
展开全部
一个数就输入a然后ctrl+d
两个数就输入a,b然后ctrl+d

#include <iostream>
using namespace std;

void print(int);
void print (int,int);
int main()
{
int a=NULL,b=NULL;
cout<<"Please input a number or two:"<<endl;

while(cin)
cin>>a>>b;

if(b==NULL)
print(a);
else
print(a,b);

return 0;
}

void print(int x)
{
cout<<x<<endl;
}

void print(int x,int y)
{
cout<<x<<' '<<y<<endl;
}
另外,站长团上有产品团购,便宜有保证
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式