c++primer5 题3.24

来源:互联网 发布:数据透视表实时更新 编辑:程序博客网 时间:2024/05/21 07:53

3.24
想法略粗糙看见另一答主的表示很惊叹
我的需要用j来控制迭代器的位置

**注意的地方有j

#include<iostream>#include<string>#include<vector>using namespace std;int main(){    int a=0,b=0,j=0;    vector<int>  v;    while(cin>>a)       v.push_back(a);    for(auto it=v.begin();it!=v.end()&&(j<v.size()/2);++it,++j)    {           auto temp=v.end()-(j+1);        b=*it+*(temp);        cout<<b<<" ";    }    return 0;} 

程序使用迭代器自加运算可以修改为

用j来控制相加的次数

#include<iostream>#include<string>#include<vector>using namespace std;int main(){    int a=0,b=0,j=0;    vector<int>  v;    while(cin>>a)       v.push_back(a);    for(auto it=v.begin(),iw=v.end();it!=iw&&(j<v.size()/2);++it,++j)    {           iw-=1;        b=*it+*iw;        cout<<b<<" ";    }    return 0;} `