平成29年春期午後問8

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
TKさん
(No.1)
https://www.fe-siken.com/kakomon/29_haru/pm08.html

24行目の「pDist[j] < pDist[i]」とありますが、pDistの中身は初期化された時から変化がないので、
ずっと∞になりませんか?どちらもずっと無限では比較できないのではないでしょうか?
2020.09.15 09:58
アゲハミンミンさん
(No.2)
この投稿は投稿者により削除されました。(2020.09.15 11:24)
2020.09.15 11:24
アゲハミンミンさん
(No.3)
11行目でpDist[sp]に0を設定
1回目のループ↓
13行目でiが0で初期化
16行目でbreak
そして23行目のループに入り、ここではスタート地点(0)とi(0)+1番目の地点のpDistを比較する処理になっています。
確かにpDistの配列は8行目で∞で初期化されていますが、pDist[0]は前述した11行目で0が設定されています。pDist[sp]のspの値が0であるかどうかは、プログラムの引数を見ればわかります。「整数型:sp」とあり、解説に「出発地の地点番号」とあるので、spは0であると考えられます。つまり、11行目ではpDist[0]に0を設定している事になるので、23行目で∞同士を比較するという結果にはなりません。
解釈を間違えていたら申し訳ないのですが、これで質問の答えになっているでしょうか?
2020.09.15 11:25

返信投稿用フォーム

スパム防止のために初投稿日から10日以上経過したスレッドへの書き込みは禁止しています。

その他のスレッド


Pagetop