矢量追加

Vector Appending

本文关键字:追加      更新时间:2023-10-16

到目前为止,这是我的代码,我想做的是说用户输入1 2 3,然后按-1,他或她将被要求输入另一组数字,比如9 8 7,我的程序应该做的是将它们显示为1 2 3 9 8 7的形式,但它显示的是这样的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";
    } 
}

这是因为最后打印的是尺寸,而不是值:

cout << d.size() << "n";

应为:

cout << d[i] << "n";

这是因为当您打印它时,您打印的是d.size而不是d[i]

cout << d.size() << "n";

需要:

cout << d[i] << endl;