配列に値を配置しようとすると、異常な結果が発生します。 私は単純なクラス結果{intスコア、長時間、文字列ID}の配列テーブル[]を持っています 意図はリーダーボードの並べ替えを持つことです。 私のコードは喜んでそれがトップ10に不要な結果を生成する配列アクセス
int ix = 0;
int jx = 10; //
while (ix < jx)
{
if (points > sTable[ix].points)
{
// score is higher move records down
for (jx = mNumRecords - 1; jx >ix ; jx--)
{
sTable[jx] = sTable[jx -1];
}
//now add new score
sTable[ix].score = score; // all good until here
sTable[ix].time = time;
}
ix++;
}
であれば問題は私が安定し、[IX] .score =スコアを使用してスコアを挿入しようとするということである新しいスコアを挿入するための正しい場所を見つけました。
値はsTable [ix] .scoreとsTable [ix +1] .scoreに書き込まれます。
ixの任意の値で繰り返し実行されます。コードを一歩進んだだけで、コマンドが一度しか実行できないことがわかります。
誰もこれまで見たことがありますか?
ああ。私たちは以前それを見てきました。そして、私たちはすべて、そのために額を叩きました。 :) Binyaminは彼の答えにそこに解決策を持っています。 :) –