public Matriz Multiplicar(Matriz otra) { if (EsMultiplicablePor(otra)) { return(this.MultiplicarPor(otra)); } else { throw new Exception("No se pudo realizar la multiplicacion: A.columnas != B.filas"); } }
private Matriz MultiplicarPor(Matriz otra) { Matriz resultado = new Matriz(this.filas, otra.columnas); for (int f = 0; f < resultado.filas; f++) { for (int c = 0; c < resultado.columnas; c++) { resultado.elementos[f, c] = MultiplicarArreglos(this.GetFila(f), otra.GetColumna(c)); } } return(resultado); }
static void Main(string[] args) { try { Matriz m1 = new Matriz(2, 3); m1.Cargar(); Console.WriteLine("Matriz A"); m1.Mostrar(); Matriz m2 = new Matriz(3, 4); m2.Cargar(); Console.WriteLine("\nMatriz B"); m2.Mostrar(); Console.WriteLine("\nResultado"); m1.Multiplicar(m2).Mostrar(); } catch (Exception e) { Console.WriteLine(e.Message); } Console.ReadKey(); }
private bool EsMultiplicablePor(Matriz otra) { return(this.columnas == otra.filas); }