注册 登录
编程论坛 C++教室

菜菜鸟求助向量连接问题

玻璃水草 发布于 2007-08-22 16:32, 640 次点击
向量a为1 4 9 16
b为9 7 4 9 11
要把b接到a的后面去,程序如下
#include <iostream>
#include <vector>
using namespace std;

vector<int> append(vector<int> a , vector<int> b)
{
for(int i=0;i<b.size();i++)
a.push_back(b[i]);
return 0;
}

void main ()
{
vector<int>a(4);
vector<int>b(5);
a[0]=1;
a[1]=4;
a[2]=9;
a[3]=16;
b[0]=9;
b[1]=7;
b[2]=4;
b[3]=9;
b[4]=11;
vector<int> c
=append( a, b);
for(int j=0;j<a.size()+b.size()+1;j++)
cout<<c[j]<<endl;

}

编译的结果错了,我不知道怎么改,大家能帮我看看么?





3 回复
#2
远去的列车2007-08-22 16:56

#include <iostream>
#include <vector>
using namespace std;

vector<int> append(vector<int> a , vector<int> b)
{
for(int i=0;i<b.size();i++)
a.push_back(b[i]);
return 0; // 改成 return a;
}

void main ()
{
vector<int>a(4);
vector<int>b(5);
a[0]=1;
a[1]=4;
a[2]=9;
a[3]=16;
b[0]=9;
b[1]=7;
b[2]=4;
b[3]=9;
b[4]=11;
vector<int> c
=append( a, b);
for(int j=0;j<a.size()+b.size()+1;j++) // j<a.size()+b.size();
cout<<c[j]<<endl;

}

#3
远去的列车2007-08-22 16:59
更严谨的:
for(int i=0; i<int(b.size();i++)
{……}

for (int j=0;j<int(a.size())+int(b.size());j++)
{……}
#4
玻璃水草2007-08-22 17:03
恩,可以了,谢谢远去的列车了
1