0

for each ループを使用して配列を並べ替えるプログラムに取り組んでいます。記憶をリフレッシュするために 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;
}

数値の 1 つが変数引用符の 1 つ内にあるときはいつでも、それをカウントしないようです。たとえば、arr の 2 番目の数値は 9 ですが、何らかの理由でカウントされず、x は実行時に "1" しか表示されません。ループの数え方に関係があるのではないかと思っていましたが、解決策が思いつきませんでした。誰かがこれを理解するのを手伝ってくれるなら、私はそれを感謝します. 最初に言ったように、私はこれらのことのいくつかについて記憶をリフレッシュしようとしています。

4

1 に答える 1