解题思路:
分别用两个vector容器存储输入的数据,把两个数组中要求取出的元素放到一个容器中,最后整体输出
注意事项:
判断要取出的两个数组的元素的个数加起来是否超过了原本的第一个数组的大小,如果没有超过原始大小,那么还要把第一个数组中最后的元素输出
记得最后+判断是否是最后一个元素,最后一个元素直接endl;
参考代码:
#include<iostream> #include<vector> using namespace std; void Add(vector<int> v1,vector<int> v2,int x,int y); int main() { vector<int> v1; vector<int> v2; int n,m; int x,y; cin>>n>>m; for(int i=0;i<n;i++) { int value; cin>>value; v1.push_back(value); } for(int i=0;i<m;i++) { int value; cin>>value; v2.push_back(value); } cin>>x>>y; Add(v1,v2,x,y); return 0; } void Add(vector<int> v1,vector<int> v2,int x,int y) { vector<int> v; if(x+y>=v1.size()) { for(int i=0;i<x;i++) { v.push_back(v1[i]); } for(int i=0;i<y;i++) { v.push_back(v2[i]); } for(vector<int>::iterator it=v.begin();it!=v.end();it++) { if(it==v.end()-1) { cout<<*it<<endl; } else { cout<<*it<<","; } } } else { for(int i=0;i<x;i++) { v.push_back(v1[i]); } for(int i=0;i<y;i++) { v.push_back(v2[i]); } for(int i=x+y;i<v1.size();i++) { v.push_back(v1[i]); } for(vector<int>::iterator it=v.begin();it!=v.end();it++) { if(it==v.end()-1) { cout<<*it<<endl; } else { cout<<*it<<","; } } } }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:509 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:595 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:624 |
简单的a+b (C语言代码)浏览:573 |
WU-小九九 (C++代码)浏览:1683 |
三角形 (C++代码)记忆化搜索浏览:1222 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:604 |
C语言程序设计教程(第三版)课后习题9.10 (C语言代码)浏览:550 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:901 |
DNA (C语言代码)浏览:391 |