class Matriz

Clase Base que contiene el metodo initilize y los getters. Además contiene el to_s y el método []

Attributes

columnas[RW]
filas[RW]
matriz[RW]

Public Class Methods

new(matriz) click to toggle source
# File lib/matriz.rb, line 104
def initialize(matriz)
   @matriz = Array.new(matriz)
   @filas = matriz.size
   @columnas = matriz[0].size
   @n_elementos= (matriz.size * matriz[0].size)*0.6 
    n_ceros=0
   filas.times do |i|
      columnas.times do |j|
         if (matriz[i][j]==0)  
            n_ceros=n_ceros+1
                     end
   end
   end
   if n_ceros > @n_elementos
      raise RuntimeError, 'La Matriz no es densa'
   end
  
end

Public Instance Methods

[](i,j) click to toggle source
# File lib/matriz.rb, line 150
def [](i,j)
   matriz[i][j]
end
comprobar(matriz) click to toggle source
# File lib/matriz.rb, line 123
def comprobar (matriz)

 n_ceros=0
   filas.times do |i|
      columnas.times do |j|
         if (matriz[i][j]==0)  
            n_ceros=n_ceros+1
                     end
   end
   end
   if n_ceros > @n_elementos
      raise RuntimeError, 'La Matriz no es densa'
   end
end
to_s() click to toggle source

Imprime la matrices

# File lib/matriz.rb, line 139
def to_s
   filas.times do |i|   
      columnas.times do |j|
         print "#{matriz[i][j]}  "
      end
                             puts
   end
   puts 
end