arrays - Ruby diagonal matrix from random numbers -
i need create diagonal matrix (8x8) , fill random numbers in [-30..45] range after need transform array vector , sort it
i tried different ways.
at first create matrix (8x8)
matrix = matrix.build(8) {0} puts matrix.each_slice(matrix.column_size) {|r| p r }
also made array random numbers in range
array = (-30..45).to_a.shuffle puts array [0..8]
and made diagonal matrix
matrixd = matrix.diagonal(1,2,3,4,5,6,7,8) puts matrixd.each_slice(matrix.column_size) {|r| p r}
how can fill diagonal matrix array , put in vector? have 2 algorithms sorting vector
class array def bubblesort! length.times |j| in 1...(length - j) if self[i] < self[i - 1] self[i], self[i - 1] = self[i - 1], self[i] end end end self end end class array def selectionsort! 0.upto(length - 2) |i| (min_idx = + 1).upto(length - 1) |j| if self[j] < self[min_idx] min_idx = j end end if self[i] > self[min_idx] self[i], self[min_idx] = self[min_idx], self[i] end end self end end
for diagonal matrix:
elems = [*-30..45].sample(8) matrix.diagonal(*elems)
for rest, i'm not sure you're trying accomplish
Comments
Post a Comment