# 二次元配列の宣言B a=[ [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] , [ 7 , 8 , 9 ] ] p a # 二次元配列の要素の参照A a=[ [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] , [ 7 , 8 , 9 ] ] p a[ 0 ][ 0 ] p a[ 0 ][ 1 ] p a[ 0 ][ 2 ] p a[ 1 ][ 0 ] p a[ 1 ][ 1 ] p a[ 1 ][ 2 ] p a[ 2 ][ 0 ] p a[ 2 ][ 1 ] p a[ 2 ][ 2 ] # 二次元配列の要素の参照C a=[ [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] , [ 7 , 8 , 9 ] ] p a[ 0 ] p a[ 1 ] p a[ 2 ] # 二次元配列の要素の参照D a=[ [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] , [ 7 , 8 , 9 ] ] p a.length p a[ 0 ].length p a[ 1 ].length p a[ 2 ].length # 二次元配列の要素への代入 a = Array.new( 4 ) a[ 0 ] = Array.new( 3 ) a[ 1 ] = Array.new( 3 ) a[ 2 ] = Array.new( 3 ) a[ 3 ] = Array.new( 3 ) a[ 0 ][ 0 ] = 1 a[ 0 ][ 1 ] = 2 a[ 0 ][ 2 ] = 3 a[ 1 ][ 0 ] = 4 a[ 1 ][ 1 ] = 5 a[ 1 ][ 2 ] = 6 a[ 2 ][ 0 ] = 7 a[ 2 ][ 1 ] = 8 a[ 2 ][ 2 ] = 9 a[ 3 ][ 0 ] = 10 a[ 3 ][ 1 ] = 11 a[ 3 ][ 2 ] = 12 p a # 二次元配列の宣言B a = [] a[ 0 ] = [] a[ 0 ][ 0 ] = 1 a[ 0 ][ 1 ] = 2 a[ 0 ][ 2 ] = 3 a[ 1 ] = [] a[ 1 ][ 0 ] = 4 a[ 1 ][ 1 ] = 5 a[ 1 ][ 2 ] = 6 a[ 2 ] = [] a[ 2 ][ 0 ] = 7 a[ 2 ][ 1 ] = 8 a[ 2 ][ 2 ] = 9 a[ 3 ] = [] a[ 3 ][ 0 ] = 10 a[ 3 ][ 1 ] = 11 a[ 3 ][ 2 ] = 12 p a # 二重ループ(復習) 4.times{ |i| 3.times{ |j| print( i , " + " , j , " = " , i + j , "\n" ) } } # 二次元配列の要素の参照@ a=[ [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] , [ 7 , 8 , 9 ] , [ 10 , 11 , 12 ] ] 4.times{ |i| 3.times{ |j| print( " a[ " , i , " ][ " , j , " ] = " , a[ i ][ j ] , "\n" ) } } # 二次元配列の要素の参照@' a=[ [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] , [ 7 , 8 , 9 ] , [ 10 , 11 , 12 ] ] 3.times{ |i| 4.times{ |j| print( " a[ " , j , " ][ " , i , " ] = " , a[ j ][ i ] , "\n" ) } } # 二次元配列の要素の参照A a=[ [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] , [ 7 , 8 , 9 ] , [ 10 , 11 , 12 ] ] a.length.times{ |i| a[ i ].length.times{ |j| print( " a[ " , i , " ][ " , j , " ] = " , a[ i ][ j ] , "\n" ) } } # 二次元配列の要素の参照B a=[ [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] , [ 7 , 8 , 9 ] , [ 10 , 11 , 12 ] ] (0..a.length-1).each{ |i| (0..a[ i ].length-1).each{ |j| print( " a[ " , i , " ][ " , j , " ] = " , a[ i ][ j ] , "\n" ) } } # 二次元配列の要素の参照C'' a=[ [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] , [ 7 , 8 , 9 ] , [ 10 , 11 , 12 ] ] a.each{ |i| p i i.each{ |j| print( j , "\n" ) } } # forループを用いて書くと…@ a=[ [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] , [ 7 , 8 , 9 ] , [ 10 , 11 , 12 ] ] for i in 0..a.length-1 do for j in 0..a[ i ].length-1 do    print( " a[ " , i , " ][ " , j , " ] = " , a[ i ][ j ] , "\n" ) end end # forループを用いて書くと…A a=[ [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] , [ 7 , 8 , 9 ] , [ 10 , 11 , 12 ] ] for i in a do p i for j in i do print( j , "\n" ) end end # 二次元配列の要素への代入@'' a=[] count = 1 3.times{ |i| a[ i ] = [] 3.times{ |j| a[ i ][ j ] = count count += 1 } } p a # 二次元配列の要素への代入A a=[] 4.times{ |i| a[ i ] = [] 4.times{ |j| if i == j then a[ i ][ j ] = 1 else a[ i ][ j ] = 0 end } } a.length.times{ |i| a[ i ].length.times{ |j| print( a[ i ][ j ] , " " ) } print( "\n" ) } # 二次元配列の要素への代入B a=[] 4.times{ |i| a[ i ] = [] (i+1).times{ |j| if i == j then a[ i ][ j ] = 1 else a[ i ][ j ] = 0 end } } a.length.times{ |i| a[ i ].length.times{ |j| print( a[ i ][ j ] , " " ) } print( "\n" ) } # 二次元配列の要素への代入C a=[] 4.times{ |i| a[ i ] = [] (0..3-i).each{ |j| if i+j == 3 then a[ i ][ j ] = 1 else a[ i ][ j ] = 0 end } } a.length.times{ |i| a[ i ].length.times{ |j| print( a[ i ][ j ] , " " ) } print( "\n" ) } # 二次元配列のコピー@ a=[ [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] , [ 7 , 8 , 9 ] , [ 10 , 11 , 12 ] ] b = [] a.length.times{ |i| b[ i ] = [] a[ i ].length.times{ |j|   b[ i ][ j ] = a[ i ][ j ] } } p b # 各人の平均点を求めるプログラム@ p = [ [1,70,60,83], [2,43,49,76], [3,59,79,43], [4,67,74,83] ] (0..3).each{ |i| sum = 0 (1..3).each{ |j| sum += p[i][j] } ave = sum / 3 puts( "出席番号 #{i+1} の人の平均点は #{ave} です" ) } # 各人の平均点を求めるプログラムA' p = [ [1,70,60,83], [2,43,49,76], [3,59,79,43], [4,67,74,83] ] (0..p.length-1).each{ |i| sum = 0 (1..p[i].length-1).each{ |j| sum += p[i][j] } ave = sum / ( p[i].length-1 ) puts( "出席番号 #{i+1} の人の平均点は #{ave} です" ) } # 各人の平均点を求めるプログラムA' p = [ [1,70,60,83], [2,43,49,76], [3,59,79,43], [4,67,74,83], ] for i in (0..p.length-1) do sum = 0 for j in (1..p[i].length-1) do sum += p[i][j] end ave = sum / ( p[i].length-1 ) puts( "出席番号 #{i+1} の人の平均点は #{ave} です" ) end # 各人の平均点を求めるプログラムB p = [ [1,70,60,83], [2,43,49,76], [3,59,79,43], [4,67,74,83], ] p.each{ |a| sum = 0 (1..a.length-1).each{ |i| sum += a[ i ] } ave = sum / ( a.length-1 ) puts( "出席番号 #{a[0]} の人の平均点は #{ave} です" ) }