学生向けプログラミング入門

学生向けにプログラミングを解説。Java、C++、Ruby、PHP、データベース

Rubyプログラミング入門その17 二次元の配列

<<前  [TOP]  次>>


メモ帳を開いて次のプログラムを作ってみましょう。


【hairetsu5.rb】

# hairetsu5.rb

class Hairetsu5

	data = [ [ 'a1', 'a2', 'a3' ],[ 'b1', 'b2', 'b3' ],[ 'c1', 'c2', 'c3' ],[ 'd1', 'd2', 'd3' ] ]

	for i in 0..(data.length-1) do
		for j in 0..(data[0].length-1)
			print (data[i][j]).to_s + ','
		end
		puts ''
	end

	puts ''

	for j in 0..(data[0].length-1) do
		for i in 0..(data.length-1) do
			print (data[i][j]).to_s + ','
		end
		puts ''
	end
end



今回のプログラムを見てください。
配列データはこのようになっています。

data = [ [ 'a1', 'a2', 'a3' ],[ 'b1', 'b2', 'b3' ],[ 'c1', 'c2', 'c3' ],[ 'd1', 'd2', 'd3' ] ]

今までの配列は、data[0]やdata[3]などと表していました。
二次元配列は、data[0][3]やdata[1][5]などと表します。


では、実際にどのように格納場所を表せばよいかを見てみましょう。


data[0][0] はa1を表しています。
data[0][2]は a3を表します。
data[2][2]は c2です。

data = [[ data[0][0], data[0][1], data[0][2] ], [ data[1][0], data[1][1], data[1][2] ], [ data[2][0], data[2][1], data[2][2] ], [ data[3][0], data[3][1], data[3][2] ]]

出力結果を見てみましょう。
f:id:MrRadiology:20180120094056p:plain


<<前  [TOP]  次>>