に私は第三 vector c{1,3,2,4}
にマージ機能二つのベクトル三
vector a{1,2}
と vector b{3,4}
のような2つのベクトルをマージまたは結合しようとしています。
#include<vector>
#include<iostream>
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;
}
vector<int> merge(vector<int>a,vector<int>b)
{
vector<int>c(a.size()+b.size());
int x=0;
for(int i=0;i<a.size();i=+2){
c.push_back(a[x]);
c.push_back(b[x]);
x++;
}
return c;
}
main()
{
int input,input2;
vector<int> one;
cout<<"Give inputs for vetor #1. When done give -1 as input"<<endl;
while((cin>>input)&& input!=-1)
one.push_back(input);
vector<int> two;
cout<<"Give inputs for vector #2. When done give -1 as input"<<endl;
while((cin>>input2)&& input2!=-1)
two.push_back(input2);
vector<int> three;
three=merge(one,two);
for(int i=0;i<three.size();i++)
cout<<three[i]<<endl;
}
私はこのコードを持っているが、出力が間違っている、それは出力
1 3 2 4
は私が「何にいくつかの助けを得ることができなければならないとき、それは
0 0 0 0 1 3
を出力マージ関数に間違っていますか? 私は検索を試みましたが、私を助けてくれた例は見つかりませんでした。 私はいくつかの例を見ましたが、うまく機能しませんでした。 私はベクトルc
は4の代わりに6つの値を出力するので間違っていると思います。しかし、どうなっているのかは分かりません。どんな助けでも大歓迎です。
これらのベクトルを参照渡しする必要があります。それ以外の場合はコピーを作成しています。 –