gpt4 book ai didi

C++ vector <整数> : add int elements to vector that are even and already in the vector

转载 作者:行者123 更新时间:2023-11-27 23:58:54 25 4
gpt4 key购买 nike

我有一个包含 6 个整数值的 vector :

vector<int> my_vec = {1,2,3,4,5,6}

我想将偶数添加到 vector 中。我已经试过了,但不明白结果。也许有人可以为我指出正确的方向!

// Example program
#include <iostream>
#include <vector>
using namespace std;

int main()
{
vector<int> v ={1,2,3,4,5,6};

for(int i = 0; i < v.size(); ++i){

if(v.at(i) % 2 == 0){

v.push_back(i);
}
cout << v.at(i);
}
}

我不明白为什么将值 1、3、5 添加到 vector 而不是 2、4、6。

最佳答案

v.push_back(i);

您添加的新项目是偶数的索引,而不是值本身。

值为 2、4 和 6 的项目位于索引 1、3 和 5。

我猜你的意思是:

v.push_back(v.at(i));

...但是现在您的程序将永远不会结束,因为您 (a) 循环直到到达 vector 的末尾,并且 (b) 一直在扩展 vector 。

您可以通过将 v.size() 的“初始”值存储在变量 n 中并循环直到 i 到达来解决这个问题n.

关于C++ vector <整数> : add int elements to vector that are even and already in the vector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40579380/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com