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