資格部

資格・検定の試験情報、対策方法、問題解説などをご紹介

IP 令和5年度 問60

 

 手続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. 1,2,3,4
  2. 1,3,2,4
  3. 3,1,4,2
  4. 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 になります。

参考情報

分野・分類
分野 テクノロジ系
大分類 基礎理論
中分類 アルゴリズムとプログラミング
小分類 アルゴリズムとプログラミング
テキスト

前問 一覧 次問