午後問8のcのαって4回実行されません?
ジョンさん
(No.1)
公式の解答見たらαは3回みたいなのですが、
最初に1回実行されて
スキップが3回実行されるので4回じゃないですか?
最初に1回実行されて
スキップが3回実行されるので4回じゃないですか?
2015.10.18 21:02
受験者さん
(No.2)
私もイの4を選んでしまいました・・・
Pat[3]のCの位置はText[4],[8],[10],[12]の4か所なので、
PLast<=TextLenのfor文に4回入り、αも4回実行されると考えたのですが・・・
答えが3回ということはfor文に入るのは3回なのでしょうか?
Pat[3]のCの位置はText[4],[8],[10],[12]の4か所なので、
PLast<=TextLenのfor文に4回入り、αも4回実行されると考えたのですが・・・
答えが3回ということはfor文に入るのは3回なのでしょうか?
2015.10.18 22:08
通りすがる人さん
(No.3)
Text[] ABC"X"BBACABACADEC
Pat[] ABAC
※"X"は現在のPLastの位置
1回目のスキップで、
ABCXBBA"C"ABACADEC ←こうなり
2回目のスキップで、
ABCXBBACABA"C"ADEC ←こうなり
そのまま文字列が見つかって、9を返すのではないでしょうか。
なのでスキップ回数は2回、αの実行回数は3回になると思われます。
自信はないですが...
Pat[] ABAC
※"X"は現在のPLastの位置
1回目のスキップで、
ABCXBBA"C"ABACADEC ←こうなり
2回目のスキップで、
ABCXBBACABA"C"ADEC ←こうなり
そのまま文字列が見つかって、9を返すのではないでしょうか。
なのでスキップ回数は2回、αの実行回数は3回になると思われます。
自信はないですが...
2015.10.18 22:13
ジョンさん
(No.4)
そうか!2回目にスキップするときのText[PLast]は'C'だから4つ飛ばすんですね!
'B'かと読み違えしていました^^;
'B'かと読み違えしていました^^;
2015.10.18 22:46
受験者さん
(No.5)
すみません、2回目のスキップが4つ飛ぶのが分かりません・・・
1回目のスキップ後は
要素 5 6 7 8
Text[] B B A C
Pat[] A B A C
こうなりますよね?この状態で配列末尾から比較すると要素5で相違が発生し、
Text[5]がBなので飛ぶのは2つ、ということではないのでしょうか?
1回目のスキップ後は
要素 5 6 7 8
Text[] B B A C
Pat[] A B A C
こうなりますよね?この状態で配列末尾から比較すると要素5で相違が発生し、
Text[5]がBなので飛ぶのは2つ、ということではないのでしょうか?
2015.10.18 22:56
ジョンさん
(No.6)
多分わたしと同じ勘違いをしていると思うのですが、
(4)の③をご覧ください。
スキップするのを決めるのはText[4]のBであり、等しくなくなった地点のText[3]のBではないのです。
コードを見てもPlastという添え字が減らされずにとってあるのがそのためです。
だから2回目のスキップでText[5]のBでスキップするのではなくText[8]のCでスキップするのです。
(4)の③をご覧ください。
スキップするのを決めるのはText[4]のBであり、等しくなくなった地点のText[3]のBではないのです。
コードを見てもPlastという添え字が減らされずにとってあるのがそのためです。
だから2回目のスキップでText[5]のBでスキップするのではなくText[8]のCでスキップするのです。
2015.10.18 23:08
受験者さん
(No.7)
>>スキップするのを決めるのはText[4]のBであり、等しくなくなった地点のText[3]のBではないのです。
確かにこの通りの説明がなされてました・・・相違が発生した場合はText[]の末尾の英字を参照するんですね
幸い私のような勘違いをしていてもdとeの解答に支障はなかったので、完答配点でないことを祈ります笑
通りすがる人さん、ジョンさん、ありがとうございました
2015.10.18 23:39
広告
返信投稿用フォーム
スパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。
広告