【发布时间】:2011-08-11 13:53:19
【问题描述】:
每个人都使用 C++ 练习 P6.07:编写一个函数 vector<int> append(vector<int> a, vector<int> b),在 a 之后附加 b
例如。 a is 1 4 9 16 和 b is 9 7 4 9 11 然后返回 1 4 9 16 9 7 4 9 11
我的功能
vector<int> append(vector<int> a, vector<int> b)
{
vector<int> appended;
for (unsigned int i = 0; i < a.size(); i++)
{
appended.push_back(a[i]);
}
for (unsigned int i = 0; i < b.size(); i++)
{
appended.push_back(b[i]);
}
return appended;
}
我的一个尝试:
int main()
{
cout << "Enter some numbers: ";
int input, input2;
vector<int> a, b;
while (cin >> input)
{
if (cin.fail())
{
cout << "Enter some numbers: ";
while (cin >> input2)
{
if (cin.fail()) {break;}
else {b.push_back(input2);}
}
}
else {a.push_back(input);}
}
return 0;
}
当我运行main() 函数时,如何使用cin 来获取向量a 和b?
【问题讨论】:
-
我不懂嵌套循环。并且
while(cin >> input)已经在提取失败时中断了循环:检查.fail()是不必要的(在外循环的情况下,从不调用。) -
现在,它刚刚结束
-
为什么把代码的相关部分删掉了,留下了和问题真的不相关的append函数?
-
实际上,这只是我的猜测之一,但没有成功。我只需要知道如何使用
cin将值放入 2 个向量中,而这本书只展示了一个只有 1 个向量而不是 2 个向量的示例。我会把它放回去 -
当我运行
main()函数时,如何使用cin来获取向量a和b?