gpt4 book ai didi

c++ - 将第一个+最后一个元素、第二个+倒数第二个元素等添加到 vector 中

转载 作者:行者123 更新时间:2023-11-28 02:33:03 39 4
gpt4 key购买 nike

这就是我目前所拥有的。而且它似乎只添加第一个+最后一个,第二个+最后一个等等。我不知道如何让它添加第二个+倒数第二个等等。它是一个动态 vector ,不能使用迭代器。

#include iostream
#include vector
using namespace std;

int main()
{
vector<int> ack;
int add;
while(cin >> add)
{
ack.push_back(add);
}

for(size_t i = 0; i < ack.size(); i++)
{
cout << ack[i] + ack[ack.back() - 1] << endl;
}
}

最佳答案

您的代码是双重错误的。 ack.back() 只是最后一个元素的值——与您尝试执行的任何操作无关。此外,ack.back() - 1 不是循环索引的函数 - 所以 ack[ack.back() - 1] 只是一些常量,你将每次在循环中添加。

由于您每次都需要“最后 - 第 N 个”元素,这意味着您需要从 size() 中减去一些内容。所以你想要做的是:

for(size_t i = 0; i < ack.size(); i++)
{
cout << ack[i] + ack[ack.size() - i - 1] << endl;
}

关于c++ - 将第一个+最后一个元素、第二个+倒数第二个元素等添加到 vector 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28468845/

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