Sha256: 3f2c6484c669a84e3ef0d0e6650a47381eeb05b70c8c1a9074d46f5a462aa8d6

Contents?: true

Size: 1.31 KB

Versions: 2

Compression:

Stored size: 1.31 KB

Contents

require "Fraccion.rb"
class Matriz

attr_accessor :filas, :cols, :matriz

#Constructor de la matriz
def initialize(m)
@filas = m.size
@cols = m[1].size
@matriz = m
end

#Función que imprime la matriz
def to_s () 
   @matriz.each do |fila|			
   puts fila.join(" ")			
   end
end

#Definición de la sobrecarga del operador +
def + (other)
end

#Definición de la sobrecarga del operador -
def - (other)
end

#Definición de la sobrecarga del operador *
def * (other) 
end

#Calcula la traspuesta de una matriz y la devuelve según el tipo que sea
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

#Comprueba la matriz y la devuelve según su tipo
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
def max()
end

#Definición de el cálculo del mínimo de una matriz
def min()
end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
prct09-1.1.0 lib/Matriz.rb
prct09-1.0.0 lib/Matriz.rb