情報領域演習第一:P演習
電気通信大学情報理工学域I類 (情報系)
2024年度後学期
[一覧に戻る]
課題D3
問題
広域変数として用意された配列 \$arr に対して,末尾に要素を追加するメソッドと,指定した2つの要素を交換するメソッドを作成せよ.
広域変数 \$arr は配列であり,空配列 [] として初期化する.
そして,次の操作を行うメソッドを作成する.
- \$arr を初期化する initialize_array
- \$arr をそのまま返す get_array
- \$arr の末尾に要素 x を追加する append(x).
- \$arr において,添え字が i と j の位置にある要素を交換する swap(i, j).ただし,0 ≦ i < j である.\$arr において添え字が i である要素や j である要素が存在しない場合は,何も行わない.
入力仕様
- append(x) において x は必ず100以下の非負整数である.
- swap(i, j) において 0 ≦ i < j.
- プログラムの実行中で,\$arr の要素数が1000を超えることはない.
- initialize_array の実行後にのみ,get_array, append(x), swap(i, j) は実行される.
出力仕様
- initialize_array, get_array, append(x), swap(i, j) を実行したとき,実行後の \$arr をそのまま出力する.
例
irb> initialize_array
=> []
irb> append 5
=> [5]
irb> append 8
=> [5, 8]
irb> swap 0, 1
=> [8, 5]
irb> swap 0, 2
=> [8, 5]
irb> append 9
=> [8, 5, 9]
irb> swap 0, 2
=> [9, 5, 8]
irb> append 5
=> [9, 5, 8, 5]
irb> swap 1, 3
=> [9, 5, 8, 5]
irb> get_array
=> [9, 5, 8, 5]
irb> initialize_array
=> []
提出法
CEDにて,プログラムを作成したディレクトリで以下を実行せよ.
% /ced-home/staff/enshu1p/checker_d3.rb ファイル名
「Submission successfully completed.」と表示されれば,提出が完了したことになる.
[一覧に戻る]