解题思路:
分别用两个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二级辅导-计负均正 (C语言代码)浏览:647 |
C语言训练-计算t=1+1/2+1/3+...+1/n (C语言代码)浏览:858 |
不会做的浏览:870 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:850 |
【简单计算】 (C语言代码)浏览:622 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:660 |
【明明的随机数】 (C语言代码)浏览:785 |
矩形面积交 (C++代码)浏览:1125 |
C语言训练-字符串正反连接 (C语言代码)浏览:629 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:1218 |