質問 |
||
| 質問者: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 |
|
| この回答へのお礼 | 通常の順位付け。。。 そうですね、同一の値だとその次の順位は飛ばされるんですよね☆ 完璧なお答えでよくわかりました。ありがとうございます!!! |