マンガでよめる痔のこと・薬のこと

情報処理の問題で一つわからない点があります

http://www.rs.kagu.tus.ac.jp/infoserv/j-siken/H1 …
上記HPの「 d 」の答えなのですが

rank++ と rank = i + 1


答えはどちらでもかまわないのではないでしょうか?
インクリメントを使っての答えは間違いとなりますがどうして???


教えてください

A 回答 (2件)

実行してみればわかるだろうけど、勝率が同一のチームが存在した場合にrank++だとそれより下位の順位がずれる。



例えば、チームAとチームBの勝率が0.5、チームCの勝率が0だった場合、rank = i+1だと
1位 チームA
1位 チームB
3位 チームC

となるけど、rank++だと

1位 チームA
1位 チームB
2位 チームC
ってなっちゃう。通常、順位付けは上の方式で行われるからrank++は×
    • good
    • 0
この回答へのお礼

通常の順位付け。。。

そうですね、同一の値だとその次の順位は飛ばされるんですよね☆

完璧なお答えでよくわかりました。ありがとうございます!!!

お礼日時:2008/03/26 11:28

rank++ と rank = i + 1


の2つは異なります、

------------------------------------------------------------
rank++ は、 rankに1を加える。


rank = i + 1 は、rankに i+1を代入する。
------------------------------------------------------------
ということで、この場合rank++ を書き換えると、

rank = rank + 1

と言う事になります。
    • good
    • 0
この回答へのお礼

i に値をプラスするのか、rank に値をプラスるるかの違いを問題によって把握しないといけないですね。

よくわかりました、ありがとうございます!

お礼日時:2008/03/26 11:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング