平成29年春期午後問8  pRoute[ ]の要素

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

この問題をトレースしているのですが、行番号12での1回目のループの際、
行番号30~38のループで質問です。
j=0のとき、行番号31でDistance[Spoint][0]=0となり、0>0であるため、
分岐条件を満たさないので、行番号30に戻るという理解でいますが、
そうするとpRoute[0]にSpoint(値0)が格納されない気がするのですが、
どのような流れになっているか教えていいただきたいです。

配列pRouteはもともと0が格納されているというわけではありませんよね?

説明が下手ですいません。説明不足なところがあればご指摘ください。

2021.10.22 06:54
関数従属さん 
FE ゴールドマイスター
(No.2)
pRouteについては、βの段階で各地点jについて地点jの直前の経由地の地点番号がpRoute[j]に入ります。
また、jがスタート地点spの場合は上記の認識通り設定されません。

図1の場合だと
pRoute[0] = (未設定)
pRoute[1] = 0
pRoute[2] = 0
pRoute[3] = 0
pRoute[4] = 1
pRoute[5] = 2
pRoute[6] = 4
となります。

pRouteは行番号41~48でゴールより逆にだどりながらsRouteに設定する際に使用されますが
pRoute[sp](図1の場合だとpRoute[0])は使用されませんので、設定されていなくても問題ありません。

sRouteには以下のように入ります。
sRoute[0] = 6 ループ1回目(行番号47の際 i=4 j=1)
sRoute[1] = 4 ループ2回目(行番号47の際 i=1 j=2)
sRoute[2] = 1 ループ3回目(行番号47の際 i=0 j=3)
sRoute[3] = 0 ループを抜け、行番号48で設定

尚、設問2の感じからすると配列宣言時点で初期値0が埋まってそうな気はします。
2021.10.23 00:39
SNさん  
(No.3)
関数従属さん

そういう考えもあるんですね、、
回答いただきありがとうございました!
2021.10.24 05:44

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。

その他のスレッド


Pagetop