class Matriz

Public Class Methods

new(*col) click to toggle source
# File lib/matrixfamily/matriz.rb, line 4
def initialize(*col) #col recoge en un array las filas de nuestra matriz.
  
  @matriz = Array.new()
  
  for i in col do
    if i.size == col.size then #nos aseguramos que es una matriz cuadrada.
      @matriz.push(i)
    else
      raise "La matriz debe ser cuadrada"
    end
  end
  
  @dimension = col.size #Guardamos en una variable de instancia la dimension de la matriz.

end

Public Instance Methods

*(other) click to toggle source
# File lib/matrixfamily/matriz.rb, line 100
def *(other) #Para la multiplicacion de matrices

end
+(other) click to toggle source
# File lib/matrixfamily/matriz.rb, line 92
def +(other) #Para la suma de matrices

end
-(other) click to toggle source
# File lib/matrixfamily/matriz.rb, line 96
def -(other) #Para la resta de matrices

end
[](*ij) click to toggle source
# File lib/matrixfamily/matriz.rb, line 88
def [] (*ij) #Recibe un numero de argumentos...

end
maximo() click to toggle source
# File lib/matrixfamily/matriz.rb, line 20
def maximo
 
  if @matriz.is_a? Array then
    
    max = @matriz[0][0]
    
    for i in 0...@dimension
      for j in 0...@dimension
        if @matriz[i][j] > max
          max = @matriz[i][j]
        end
      end
    end
    
    max
    
  elsif @matrix.is_a? Hash then      
    
    max = @matrix[0][0]      
      
    for i in @matrix.keys do
      for j in @matrix[i].keys do
        if @matrix[i][j] > max
          max = @matrix[i][j]
        end          
      end
    end
    
    max
    
  end
  
end
minimo() click to toggle source
# File lib/matrixfamily/matriz.rb, line 54
def minimo    
          
  if @matriz.is_a? Array then
    
    min = @matriz[0][0]
    
    for i in 0...@dimension
      for j in 0...@dimension
        if @matriz[i][j] < min
          min = @matriz[i][j]
        end
      end
    end
    
    min
    
  elsif @matrix.is_a? Hash then
  
    min = @matrix[@matrix.keys.first][@matrix[@matrix.keys.first].keys.first]
    
    for i in @matrix.keys do      
      for j in @matrix[i].keys do
        if @matrix[i][j] < min && @matrix[i][j] != 0 then
          min = @matrix[i][j]
        end
      end
    end
    
    min
    
  end

end