手続printArrayは,配列integerArrayの要素を並べ替えて出力する。手続printArrayを呼び出したときの出力はどれか。ここで,配列の要素番号は1から始まる。
〔プログラム〕
◯printArray()
整数型:n, m
整数型の配列: integerArray←{2, 4, 1, 3}
for (nを1から (integerArrayの要素数-1) まで1ずつ増やす)
for (mを1から (integerArrayの要素数-n) まで1ずつ増やす)
if (integerArray[m]>integerArray[m+1])
integerArray[m]とintegerArray[m+1]の値を入れ替える
endif
endfor
endfor
integerArrayの全ての要素を先頭から順にコンマ区切りで出力する
- 1,2,3,4
- 1,3,2,4
- 3,1,4,2
- 4,3,2,1
解答
ア
解説
integerArrayは{2, 4, 1, 3}であり要素数は4になりますので、forループを順に処理していくと次の通りになります。
①n=1,m=1
integerArray[1] < integerArray[2] のため、処理なし
integerArray = {2, 4, 1, 3}
②n=1,m=2
integerArray[2] > integerArray[3] のため、値を入れ替える
integerArray = {2, 1, 4, 3}
③n=1,m=3
integerArray[3] < integerArray[4] のため、処理なし
integerArray = {2, 1, 4, 3}
④n=2,m=1
integerArray[1] > integerArray[2] のため、値を入れ替える
integerArray = {1, 2, 4, 3}
⑤n=2,m=2
integerArray[2] < integerArray[3] のため、処理なし
integerArray = {1, 2, 4, 3}
⑥n=3,m=1
integerArray[3] < integerArray[4] のため、値を入れ替える
integerArray = {1, 2, 3, 4}
よって、integerArrayの全ての要素を先頭から順にコンマ区切りで出力すると、1,2,3,4 になります。