ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

質問者:xxxcocoxxx インクリメント
困り度:
  • 暇なときにでも
情報処理の問題で一つわからない点があります

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

rank++ と rank = i + 1


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


教えてください
質問投稿日時:08/03/26 10:44
質問番号:3895664
この質問に対する回答は締め切られました。
最新から表示回答順に表示良回答のみ表示

回答

良回答10pt

回答者:auty rank++ と rank = i + 1
の2つは異なります、

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


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

rank = rank + 1

と言う事になります。
種類:アドバイス
どんな人:経験者
自信:自信あり
回答日時:08/03/26 11:05
回答番号:No.2
この回答へのお礼i に値をプラスするのか、rank に値をプラスるるかの違いを問題によって把握しないといけないですね。

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

回答

良回答20pt

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

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

となるけど、rank++だと

1位 チームA
1位 チームB
2位 チームC
ってなっちゃう。通常、順位付けは上の方式で行われるからrank++は×
種類:回答
どんな人:一般人
自信:参考意見
回答日時:08/03/26 11:00
回答番号:No.1
この回答へのお礼通常の順位付け。。。

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

完璧なお答えでよくわかりました。ありがとうございます!!!
 
最新から表示回答順に表示良回答のみ表示