次のプログラム中の に入れる正しい答えを,解答群の中から選べ。ここで,配列の要素番号は 1 から始まる。
関数 simRatio は,引数として与えられた要素数 1 以上の二つの文字型の配列 s1 と s2 を比較し,要素数が等しい場合は,配列の並びがどの程度似ているかの指標として,(要素番号が同じ要素の文字同士が一致する要素の組みの個数 ÷ s1の要素数)を実数型で返す。例えば,配列の全ての要素が一致する場合の戻り値は 1,いずれの要素も一致しない場合の戻り値は 0 である。
なお,二つの配列の要素数が等しくない場合は,-1 を返す。
関数 simRatio に与える s1,s2 及び戻り値の例を表に示す。プログラムでは,配列の領域外を参照してはならないものとする。
s1 | s2 | 戻り値 |
{"a", "p", "p", "l", "e"} | {"a", "p", "p", "l", "e"} | 1 |
{"a", "p", "p", "l", "e"} | {"a", "p", "r", "i", "l"} | 0.4 |
{"a", "p", "p", "l", "e"} | {"m", "e", "l", "o", "n"} | 0 |
{"a", "p", "p", "l", "e"} | {"p", "e", "n"} | -1 |
〔プログラム〕
◯実数型: simRatio(文字型の配列: s1, 文字型の配列: s2)
整数型: i, cnt ← 0
if (s1の要素数 ≠ s2の要素数)
return -1
endif
for (i を 1 から s1の要素数 まで 1 ずつ増やす)
if ( )
cnt ← cnt + 1
endif
endfor
return cnt ÷ s1の要素数 /* 実数として計算する */
解答群
- s1[i] ≠ s2[cnt]
- s1[i] ≠ s2[i]
- s1[i] = s2[cnt]
- s1[i] = s2[i]
解答
エ
解説
作成中