si v1 = 1,2,3,4 y v2 = 5,6,7,8,9 imprima v = 1,5,2,6,3,7,4,8,9
Hice esté código pero no me ejecuta nada.
Si pudieras decirme que falta para que funcione os lo agradecería
Código
#include<iostream> #include<vector> using namespace std; vector<int>fusion(vector<int>v1,vector<int>v2){ int i=0; int j; vector<int>v; if(v1.size()>v2.size()){ while(i<v2.size()){ v.push_back(v1[i]); v.push_back(v2[i]); } j=v.size()/2; while(i<v1.size()){ v.push_back(v1[i]); } } else if(v1.size()<v2.size()){ while(i<v1.size()){ v.push_back(v1[i]); v.push_back(v2[i]); } j=v.size()/2; while(i<v2.size()){ v.push_back(v2[i]); }} else{ while(i<v1.size()){ v.push_back(v1[i]); v.push_back(v2[i]); }} return v; } int main(){ int n1,n2,e; cout<<"introduzca el tamaño de v1"<<endl; cin>>n1; vector<int>v1(n1); for(int i=0;i<n1;i++){ cout<<"el elemento"<<" "<<i<<endl; cin>>e; } cout<<"introduzca el tamaño de v2"<<endl; cin>>n2; vector<int>v2(n2); for(int i=0;i<n2;i++){ cout<<"el elemento"<<" "<<i<<endl; cin>>e; } vector<int>u=fusion(v1,v2); cout<<"["; for(int i=0;i<u.size();i++){ cout<<u[i]<<endl; } cout<<"]"<<endl; system ("pause"); return 0;}