【生手求教】C++合并数组的?
【新手求教】C++合并数组的??
#include<iostream>
#include<algorithm>
#include<cmath>
#include<string>
using namespace std;
int main()
{
int m,n;
int a[100],b[100],c[100];
while(cin>>m)
{
for(int i = 0;i < m;i++)
cin >> a[i];
}
while(cin >> n)
{
int t = m;
for(int j = 0;j < n;j++)
{
cin >> b[j];
c[t] = b[j];
t++;
}
}
sort(c[0],c[m+n-1]);
for(int i = 0;i < m+n;i++)
cout<<c[i]<<" ";
cout<<endl;
}题目要求合并数组并排序!不去重复的。。
不能运行,提示:两个重载中没有一个可以转换成所有参数的
要怎么解决啊????
求帮助,,谢谢各位!
------解决思路----------------------
参考链表的二路合并算法
https://github.com/707wk/Senior-middle-school/blob/master/Filling%20in%20the%20gaps.c
------解决思路----------------------
像这样才行.

------解决思路----------------------
这样可好:
#include<iostream>
#include<algorithm>
#include<cmath>
#include<string>
using namespace std;
int main()
{
int m,n;
int a[100],b[100],c[100];
while(cin>>m)
{
for(int i = 0;i < m;i++)
cin >> a[i];
}
while(cin >> n)
{
int t = m;
for(int j = 0;j < n;j++)
{
cin >> b[j];
c[t] = b[j];
t++;
}
}
sort(c[0],c[m+n-1]);
for(int i = 0;i < m+n;i++)
cout<<c[i]<<" ";
cout<<endl;
}题目要求合并数组并排序!不去重复的。。
不能运行,提示:两个重载中没有一个可以转换成所有参数的
要怎么解决啊????
求帮助,,谢谢各位!
------解决思路----------------------
参考链表的二路合并算法
https://github.com/707wk/Senior-middle-school/blob/master/Filling%20in%20the%20gaps.c
------解决思路----------------------
像这样才行.
------解决思路----------------------
这样可好:
#include<iostream>
#include<algorithm>
#include<cmath>
#include<string>
using namespace std;
int main()
{
int i, j, r;
int m, n;
int a[100], b[100], c[100];
cin >> m;
for (i = 0; i < m; i++) cin >> a[i];
sort(a, a + m);
cin >> n;
for (i = 0; i < n; i++) cin >> b[i];
sort(b, b + n);
i = j = r = 0;
while (i < m && j < n)
{
if (a[i] <= b[j]) c[r++] = a[i++];
else c[r++] = b[j++];
}
while (i < m) c[r++] = a[i++];
while (j < n) c[r++] = b[j++];
for (int i = 0; i < m + n; i++) cout << c[i] << " ";
cout << endl;
return 0;
}
//3
//2 1 5
//4
//23 45 1 25
//1 1 2 5 23 25 45