对于c ++中的每个计数器循环,不会增加某些数字

时间:2013-10-10 00:03:13

标签: c++ arrays for-loop foreach counter

我正在开发一个程序,它使用for循环对数组进行排序。我正在为每个循环搞乱,以便刷新我的记忆,我遇到了一个有趣的问题。这是我的代码,

#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”。我在想它可能与我计算循环的方式有关,但我无法提出任何解决方案。如果有人能帮助我理解这一点,我将不胜感激。正如我在开始时所说的那样,我正试图让我对其中一些事情记忆犹新,因为我已经很久没有了。

1 个答案:

答案 0 :(得分:2)

此页面可以帮助您..您可以使用内置函数进行大多数排序算法

http://en.cppreference.com/w/cpp/algorithm/sort