到目前为止这是我的代码我想要做的是说用户输入1 2 3然后按-1,他或她将被要求输入另一组数字说9 8 7,我的程序是什么假设要做的就是将它们显示为1 2 3 9 8 7,而是将它们显示为6 6 6 6 6 6,基本上它会计算出有多少数字并显示该数字的数量。所以任何人都可以帮助我在这里,我如何使它显示两组数字组合?
#include <iostream>
#include <vector>
using namespace std;
vector<int> append(vector<int> a, vector<int> b)
{
int n = a.size();
int m = b.size();
vector<int> c(n + m);
int i;
for (i = 0; i < n; i++)
c[i] = a[i];
for (i = 0; i < m; i++)
c[n + i] = b[i];
return c;
}
int main()
{
cout << "Please enter a set of numbers, insert -1 when done.\n";
vector<int>a;
bool more = true;
while (more)
{
int n;
cin >> n;
if (n == -1)
more = false;
else
a.push_back(n);
}
cout << "Please enter another set of numbers, insert -1 when done.\n";
vector<int>b;
more = true;
while (more)
{
int m;
cin >> m;
if (m == -1)
more = false;
else
b.push_back(m);
}
vector<int>d = append(a,b);
{
int i;
for (i= 0; i < d.size(); i++)
cout << d.size() << "\n";
}
}
答案 0 :(得分:3)
那是因为最后你打印的是尺寸,而不是值:
cout << d.size() << "\n";
应该是:
cout << d[i] << "\n";
答案 1 :(得分:0)
这是因为当您打印它时,您正在打印d.size
而不是d[i]
。
cout << d.size() << "\n";
需要:
cout << d[i] << endl;