本文へスキップ

FE SUBJECT B

基本情報技術者 科目Bの問題解説

データ構造及びアルゴリズム 難しい fe_b_v90_alg_trace_132

問題

次の二次元配列処理を実行したとき,戻り値はどれか。

整数型の二次元配列: m ← {{3,1,4}, {2,5,0}, {6,2,7}}
整数型: i, j, count ← 0
for (i を 2 から 3 まで 1ずつ増やす)
  for (j を 2 から 3 まで 1ずつ増やす)
    if (m[i][j] > m[i - 1][j] and m[i][j] > m[i][j - 1])
      count ← count + 1
    endif
  endfor
endfor
return count
  1. 1
  2. 2
  3. 3
  4. 4
出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目B範囲

正解と解説

正解:2

正解:2

調べるのはi=2〜3,j=2〜3の4か所だけである。各位置で,上の値m[i-1][j]と左の値m[i][j-1]の両方より大きい場合だけcountを増やす。

位置上/左count
(2,2)51/21
(2,3)04/51
(3,2)25/61
(3,3)70/22

条件を満たすのは(2,2)と(3,3)なので2。斜め上ではなく,上と左を見る点に注意する。

選択肢の見分け方:1は(3,3)を見落とした値,3や4は片方の条件だけで数えた誤りである。and条件なので,上と左の両方より大きい必要がある。

この問題について

出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目B範囲

公開問題・サンプル問題の形式、擬似言語記法、アルゴリズム読解・トレース・空欄補充・セキュリティ事例判断の傾向を参考にした独自問題です。本文・数値・選択肢は新規作成しています。

公式試験問題、公開問題、市販教材、外部問題サイトの問題文を転載・改題したものではありません。

参考範囲: 2026年度現行科目B・シラバスVer.9.x参考

RELATED

関連問題