• ベストアンサー

インクリメント

情報処理の問題で一つわからない点があります http://www.rs.kagu.tus.ac.jp/infoserv/j-siken/H19a2/pm10.html 上記HPの「 d 」の答えなのですが rank++ と rank = i + 1 答えはどちらでもかまわないのではないでしょうか? インクリメントを使っての答えは間違いとなりますがどうして??? 教えてください

質問者が選んだベストアンサー

  • ベストアンサー
  • i-kujou
  • ベストアンサー率50% (13/26)
回答No.1

実行してみればわかるだろうけど、勝率が同一のチームが存在した場合にrank++だとそれより下位の順位がずれる。 例えば、チームAとチームBの勝率が0.5、チームCの勝率が0だった場合、rank = i+1だと 1位 チームA 1位 チームB 3位 チームC となるけど、rank++だと 1位 チームA 1位 チームB 2位 チームC ってなっちゃう。通常、順位付けは上の方式で行われるからrank++は×

xxxcocoxxx
質問者

お礼

通常の順位付け。。。 そうですね、同一の値だとその次の順位は飛ばされるんですよね☆ 完璧なお答えでよくわかりました。ありがとうございます!!!

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • auty
  • ベストアンサー率58% (284/486)
回答No.2

rank++ と rank = i + 1 の2つは異なります、 ------------------------------------------------------------ rank++ は、 rankに1を加える。 rank = i + 1 は、rankに i+1を代入する。 ------------------------------------------------------------ ということで、この場合rank++ を書き換えると、 rank = rank + 1 と言う事になります。

xxxcocoxxx
質問者

お礼

i に値をプラスするのか、rank に値をプラスるるかの違いを問題によって把握しないといけないですね。 よくわかりました、ありがとうございます!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 平成14年秋 問10 四角形 C言語

    http://www.rs.kagu.tus.ac.jp/infoserv/j-siken/H14b2/pm10.html 手がかりはどのように 求めればいいのでしょうか? 手が届かないです

  • ++idxと[idx+1]の違い

    どちらでも可ではないのでしょうか??? (1)++idxの場合はインクリメントされた値で処理 (2)[idx+1]の場合は+1をした値で処理 (3)idx++の場合はもとのidxの値で処理してからインクリメント 最初のトレースは0から始まるから(1)(2)では処理をするidxの値は1、(3)では処理をするidxの値は0、その後1。 理解が違いますか? http://www.rs.kagu.tus.ac.jp/infoserv/j-siken/H17a2/pm10.html の設問1  教えてください

  • 基本情報について

    このサイトの問4の3設問ができなくて困っています。わかるかたご教授よろしくお願いします。 http://www.rs.kagu.sut.ac.jp/~infoserv/j-siken/H11a2/pm03.html

  • トランザクション処理性能の問題

    このサーバの TPS の上限値は” ”の表現で 上限値は何を意味するのでしょうか? どなたか 解説を? http://www.rs.kagu.tus.ac.jp/infoserv/j-siken/H13b2/pm03.html

  • CASLの問題

    http://www.rs.kagu.tus.ac.jp/infoserv/j-siken/H11a2/pm10.html で被乗数を14ビットシフトの意味を理解できなく この問題を解けません どなたかご教授を

  • 平成17年度春の午後問題について教えてください

    ttp://www.rs.kagu.tus.ac.jp/infoserv/j-siken/H17a2/pm06.html の問題なのですが、空欄dが分かりません。 char_listはvoid print_string 関数内でアドレスで 受け取り、int word_width 関数でもアドレスで受け取っていると思うのですが、違うのでしょうか?

  • 基本情報技術者 平成14年 秋 問9

    基本情報技術者 平成14年 秋 問9 http://www.rs.kagu.tus.ac.jp/infoserv/j-siken/H14b2/pm09.html 6行目の CPA GR1,DIV,GR2 の処理の結果がわかりません。 3行目でGR2には「3」が設定されています。 DIV(22行目)から、3つ移動すると25行目を指すということでしょうか? ご教授をお願いします。

  • 基本情報試験の過去問がわかりません。

    http://www.rs.kagu.tus.ac.jp/infoserv/j-siken/H17b2/am21.html 基本情報試験の過去問で、URLの問23がわかりません。 これは何かの公式に当てはまるのでしょうか? 解き方は、どのようにやるか教えてください。

  • for( ; ti >= 0; ti--, ci++)

    C言語のループの表記のことです for ( ; ti >= 0; ti- -, ci++) この意味がわかりません 自分なりに解釈すると「;ti >= 0」から始まって「 ci++ 」を繰り返しながら「 ti- - 」になるまで繰り返す、というような感じです 「;ti >= 0」から始まるとはどういう意味でしょうか? 「 ti- - 」になるまでとは??? このソースが書かれているHPです http://www.rs.kagu.tus.ac.jp/infoserv/j-siken/H12a2/pm11.html 52行目になります わかる方がいらっしゃったら教えてください、お願いします

  • 初期化について教えてください

    http://www.rs.kagu.tus.ac.jp/infoserv/j-siken/H13b2/pm10.html この問題のプログラムでコードの初期化の方法が分からないので教えてください 例えば、配列 M[0][1]をROADとするにはどうしたらいいのでしょうか? M[0][1] = ROAD; としたとしても、M[0][1] は入り口(ENTRANCE)の役割もあるので、上みたいにそのまま代入しても上手くいかないのですが、どうやっていいのか分かりません。 お願いします。