Constructor de la matriz
# File lib/Matriz.rb, line 7 def initialize(m) @filas = m.size @cols = m[1].size @matriz = m end
Definición de la sobrecarga del operador *
# File lib/Matriz.rb, line 29 def * (other) end
Definición de la sobrecarga del operador +
# File lib/Matriz.rb, line 21 def + (other) end
Definición de la sobrecarga del operador -
# File lib/Matriz.rb, line 25 def - (other) end
Comprueba la matriz y la devuelve según su tipo
# File lib/Matriz.rb, line 45 def comprobar() cont_total = 0 cont_ceros = 0 @filas.times do |i| @cols.times do |j| if @matriz[i][j] == 0 cont_ceros = cont_ceros + 1 end cont_total = cont_total + 1 end end if cont_ceros >= (cont_total * 0.6) Matriz_dispersa.new(@matriz) else Matriz_densa.new(@matriz) end end
Definición de el cálculo del máximo de una matriz
# File lib/Matriz.rb, line 64 def max() end
Definición de el cálculo del mínimo de una matriz
# File lib/Matriz.rb, line 68 def min() end
Función que imprime la matriz
# File lib/Matriz.rb, line 14 def to_s () @matriz.each do |fila| puts fila.join(" ") end end
Calcula la traspuesta de una matriz y la devuelve según el tipo que sea
# File lib/Matriz.rb, line 33 def traspuesta () aux_m = Array.new @filas.times do |i| aux_m[i] = Array.new @cols.times do |j| aux_m[i][j] = @matriz[(@filas-1)-i][(@cols-1)-j] end end Matriz.new(aux_m).comprobar end