gpt4 book ai didi

c++ - 对 vector 中索引为奇数的数字进行排序

转载 作者:可可西里 更新时间:2023-11-01 10:21:29 25 4
gpt4 key购买 nike

我想对具有奇数索引(索引从 0 开始)的 vector 中的数字进行排序。

例如,如果我输入这个数字; 1 6 5 7 3 2 0,程序必须返回:1 2 5 6 3 7 0

我的代码

#include <iostream>
#include <vector>

using namespace std;

int main()
{
int eded, n, _temp;
size_t i;

cout << "Nece eded daxil edeceksiniz?" << endl << ">>> ";
cin >> n;

vector<int> v_eded;
v_eded.reserve(n); // n qeder bosh yer ayiriram vektor-da

cout << "Ededleri daxil edin:" << endl;

for (int i = 0; i < n; i++)
{
cin >> eded;
v_eded.push_back(eded);
}

for (i = 1; i < v_eded.size(); i+=2)
{
if (v_eded[i] > v_eded[i+2])
{
_temp = v_eded[i+2];
v_eded[i+2] = v_eded[i];
v_eded[i] = _temp;
}
}

for (auto j : v_eded)
cout << j << " ";

return 0;
}

它编译时没有任何警告和/或错误。插入 eded 后,我按 Enter 并且程序给我这个错误:

enter image description here

我无法确定问题出在哪里。请向我解释哪里出了问题以及如何解决这个问题。

最好的问候。

最佳答案

您有越界访问权限

if (v_eded[i] > v_eded[i+2])

只有i < v_eded.size() , 不是 i + 2

关于c++ - 对 vector 中索引为奇数的数字进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27865362/

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