CE贝多芬


私信TA

用户名:hjl88

访问量:6336

签 名:

等  级
排  名 70
经  验 9764
参赛次数 20
文章发表 293
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:

分别用两个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 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答

代码解释器

  评论区