本当にこの for ループが正しい変数をインクリメントしていますか? 別の変数が for ループによって初期化されて、チェックされるように見えます。