static void Main(string[] args) { Matriz MiMatriz = new Matriz(); MiMatriz.InicializarMatriz(); Console.WriteLine("MATRIZ"); MiMatriz.ImprimirMatriz(); Console.ReadKey(); }
static void Main(string[] args) { try { Console.WriteLine("Ingrese el tamaño de la matriz 1"); Matriz <int> m1 = new Matriz <int>(Convert.ToInt32(Console.ReadLine())); m1.Lee(); Console.WriteLine("Ingrese el tamaño de la matriz 2"); Matriz <int> m2 = new Matriz <int>(Convert.ToInt32(Console.ReadLine())); m2.Lee(); Matriz <int> m3 = new Matriz <int>(m1.Tamanio); Console.WriteLine("Que desea hacer?\n\tSuma (S)\n\tResta (R)\n\tMultiplicación (M)\n\tSalir"); string opcion = Console.ReadLine(); switch (opcion) { case "S": m1.Imprime(); Console.WriteLine("+"); m2.Imprime(); Console.WriteLine("="); m3 = m1 + m2; m3.Imprime(); break; case "R": m1.Imprime(); Console.WriteLine("-"); m2.Imprime(); Console.WriteLine("="); m3 = m1 - m2; m3.Imprime(); break; case "M": m1.Imprime(); Console.WriteLine("X"); m2.Imprime(); Console.WriteLine("="); m3 = m1 * m2; m3.Imprime(); break; default: Console.WriteLine("Adios :D"); break; } } catch (FormatException fe) { Console.WriteLine(fe.Message); } Console.ReadKey(); }
static void Main() { Matriz matriz1 = new Matriz(); Console.WriteLine(); Matriz matriz2 = new Matriz(); Console.WriteLine(); matriz2.mat = matriz1 + matriz2; Console.WriteLine(matriz2.ToString()); //matriz.imprime(); No es recomendable controlar excepciones //desde la clase main o fuera de la clase original }
static void Main(string[] args) { int filas, columnas; Matriz A = new Matriz(); Console.WriteLine("Ingresa el número de filas"); filas = int.Parse(Console.ReadLine()); Console.WriteLine("Ingresa el número de columnas"); columnas = int.Parse(Console.ReadLine()); A.SetFilas(filas); A.SetColumnas(columnas); A.SetMatriz(); A.SumaMatriz(); A.VerMatriz(); }
public static Matriz <T> operator +(Matriz <T> m1, Matriz <T> m2) { Matriz <T> m3 = new Matriz <T>(m1.Tamanio); dynamic d1 = m1; dynamic d2 = m2; if (m1.Tamanio == m2.Tamanio) { for (int i = 0; i < m1.Tamanio; i++) { for (int j = 0; j < m1.Tamanio; j++) { m3.M[i, j] = d1.M[i, j] + d2.M[i, j]; } } return(m3); } else { Console.WriteLine("No se puede realizar la suma, las matrices no son del mismo tamaño"); return(m3); } }
//Hacemos una sobrecarga de operadores public static Matriz <T> operator -(Matriz <T> m1, Matriz <T> m2) { Matriz <T> m3 = new Matriz <T>(m1.Tamanio); //Declaramos la variables d1 y d2 como dynamic y los igualamos a m1 y m2 para realizar la suma dynamic d1 = m1; dynamic d2 = m2; if (m1.Tamanio == m2.Tamanio) { for (int i = 0; i < m1.Tamanio; i++) { for (int j = 0; j < m1.Tamanio; j++) { m3.M[i, j] = d1.M[i, j] - d2.M[i, j]; } } return(m3); } else { Console.WriteLine("No se puede realizar la resta, las matrices no son del mismo tamaño"); return(m3); } }
/// <summary> /// Multiplica la matriz de la clase actual, por la especificada /// en el el parametro PorMatriz, antes verifica si son conformables /// </summary> /// <param name="PorMatriz">Matriz por la que se pos.multiplicara</param> /// <returns>Si es conformable, la matriz resultante, de los contrario NULL</returns> public Matriz Multiplicar(Matriz PorMatriz) { if (this.cols == PorMatriz.rows) //son conformables { Matriz MRes = new Matriz(rows, PorMatriz.cols); for (int i = 0; i < rows; i++) { for (int j = 0; j < PorMatriz.cols; j++) { for (int k = 0; k < cols; k++) { MRes.Matrix[i, j] += this.Matrix[i, k] * PorMatriz.Matrix[k, j]; } } } MRes.rows = this.rows; MRes.cols = PorMatriz.cols; return(MRes); } else { return(null);//no es posible realizar la multiplicacion, no son conformables } }