我正在开发一个程序,该程序使用 for each 循环对数组进行排序。我弄乱了每个循环以刷新我的记忆,我遇到了一个有趣的问题。这是我在这里的代码,
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int arr [4] = {5, 9, 23, 45};
int const quote = 10;
int failed = 0;
for each (int i in arr)
{
int x = arr[i];
if (x < quote)
{
failed += 1;
}
x = 0;
}
cout << failed;
_getch();
return 0;
}
似乎只要其中一个数字在变量报价之一内,它就不会计算它。例如,arr 中的第二个数字是 9,但由于某种原因它不被计算在内,x 在运行时只显示"1"。我想这可能与我计算循环的方式有关,但我无法提出任何解决方案。如果有人能帮助我理解这一点,我将不胜感激。正如我在开始时所说,我试图刷新我对其中一些事情的记忆,因为我已经有一段时间没有了。
这个页面可能会帮助你..你可以使用内置函数进行大多数排序算法
http://en.cppreference.com/w/cpp/algorithm/sort