平成23年秋期午後問8
アーニャさん
(No.1)
https://www.fe-siken.com/kakomon/23_aki/pm08.html
f、gの意味がよくわからないのですが解説がない為全く進みません。
どなたか解説おねがいします。
f、gの意味がよくわからないのですが解説がない為全く進みません。
どなたか解説おねがいします。
2022.05.08 10:58
chihiroさん
★FE プラチナマイスター
(No.2)
要は配列を前(または後)にずらす際、配列の前から順番に移動させるべきか、後ろから順番に移動させるべきかという話です。
設問2(2)の説明図だと、配列の後ろから順に移動させようとすると、最初に">>"を3つ前の"k"の位置に上書きするのですが、"k"はまだ移動し終えていないので上書きしてはいけません(移動後の配列がおかしくなるため)。一方で配列の前から順に移動させる場合、"+"を3つ前の"+"の位置に上書き、"w"を3つ前の"1"の位置に上書き、…という風に移動させるのですが、この場合、前述の問題は生じません。つまり、moveが負の場合は配列の前から順に移動させればよいということになります。moveが正の場合も考え方は同じです。
設問2(2)の説明図だと、配列の後ろから順に移動させようとすると、最初に">>"を3つ前の"k"の位置に上書きするのですが、"k"はまだ移動し終えていないので上書きしてはいけません(移動後の配列がおかしくなるため)。一方で配列の前から順に移動させる場合、"+"を3つ前の"+"の位置に上書き、"w"を3つ前の"1"の位置に上書き、…という風に移動させるのですが、この場合、前述の問題は生じません。つまり、moveが負の場合は配列の前から順に移動させればよいということになります。moveが正の場合も考え方は同じです。
2022.05.08 12:37
アーニャさん
(No.3)
なるほど!
わかりやすい説明ありがとうございます!
わかりやすい説明ありがとうございます!
2022.05.09 21:41
広告
返信投稿用フォーム
スパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。
広告