2

さて、距離を計算します。試合が見つかったときにポイントを獲得する20の距離グループがあります。各グループの条件を書かないようにするにはどうすればよいですか?

---への近道はありますか

if (distance>0)and(distance<=10)
{
    distance_group[1]=++1;
}
else
    if (distance>10)and(distance<=20)
    {
        distance_group[2]=++1;
    }

など... 400のような数まで、すべてのグループに対して

近似一致が見つかった場合、各グループはポイントを獲得しますが、ポイントを獲得するためのすべてのグループ条件を書きたくはありません。20 ではなく 5000 グループが必要になる可能性があります。

何か案は?

4

1 に答える 1

6

グループ番号は次のように計算できます。

int group_number = (distance-1)/10+1;

次に、そのグループのカウントを増やします。

++distance_group[group_number];

距離==1 の場合、 があります(1-1)/10+1 == 1

距離==2 の場合、 があります(2-1)/10+1 == 1

. . .

距離==9 の場合、 があります(9-1)/10+1 == 1

距離==10 の場合、 があります(10-1)/10+1 == 1

距離==11 の場合、 があります(11-1)/10+1 == 2

于 2013-04-24T04:27:46.640 に答える