アルゴリズムとプログラミング

基本情報技術者試験2次元配列」の問題

アルゴリズムとプログラミングアルゴリズムとプログラミング計算問題難易度:easy
3 行 3 列の 2 次元配列 m に次の値が格納されている(添字は行・列とも 1 から)。 m[1][*]=4,7,2 m[2][*]=5,1,8 m[3][*]=3,6,9 次の手続 colSum は、指定した列 c の全行の和(列和)を返す。c = 2 を与えて実行したとき、戻り値はどれか。
○整数型: colSum(整数型の二次元配列: m, 整数型: c)
  整数型: s ← 0
  整数型: i
  for (i を 1 から 3 まで 1 ずつ増やす)
    s ← s + m[i][c]
  endfor
  return s
13
列名は2列
19
14の和
正解
14の和

列番号 c=2 を固定し行 i を 1〜3 で動かすと m[1][2]=7, m[2][2]=1, m[3][2]=6 を足し 14 となるため エが正しい。

?選択肢ごとの解説

ア ×1 列目 m[*][1]=4+5+3=12 や別の組合せと混同して 13 とした、対象列を取り違えた誤りである。
イ ×和ではなく対象列の名称(2 列目)を答えた、求める値の種類を取り違えた記述である。
ウ ×3 列目 m[*][3]=2+8+9=19 を合計した、列番号 c を 3 と取り違えた誤りである。
エ ○列番号 c=2 を固定し行 i を 1〜3 で動かすと m[1][2]=7, m[2][2]=1, m[3][2]=6 を足し 14 となるため エが正しい。

くわしく

列和は列番号を固定し行を走査する。行和(行番号固定で列走査)と添字の固定対象が逆である点を区別する必要がある。

本番での押さえどころ

試験のコツ

固定される添字(ここでは列 c)と動く添字(行 i)を明示し、縦 1 列だけを足す。

覚え方

『列和は列を固定して縦に足す』と動作で覚える。

よくある誤り

行と列を取り違えて行和を計算する、または別の列を足すミスが多い。

アルゴリズムとプログラミングの他の問題

この問題を、AIの8-ways解説つきで。

基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。

無料ではじめる →

ukamiru 過去問 · 基本情報技術者試験 · fe-b-algo-0056

【基本情報技術者試験】2次元配列の問題 — 解答・解説|ukamiru 過去問