public static Matriz operator +(Matriz m1, Matriz m2) { Matriz m3 = new Matriz(m1.Reng, m1.Colum); for (int i = 0; i < m1.Reng; i++) { for (int j = 0; j < m1.Colum; j++) { m3.mat[i, j] = m1.mat[i, j] + m2.mat[i, j]; } } return(m3); }
public static Matriz operator +(Matriz m1) { Matriz m = new Matriz(1, 1); //float [,] mr= new float(m1.Reng,m1.Colum); for (int i = 0; i < m1.Reng; i++) { //mr[i,j]= m1.mat[i,j]; m.mat[0, 0] = m.mat[0, 0] + m1.mat[i, i]; } return(m); }
//1 2 3;4 5 6;7 8 9 public static Matriz Leer(string matriz) { string[] renglones = matriz.Split(';'); string[] columnas = renglones[0].Split(' '); Matriz m = new Matriz((byte)renglones.Length, (byte)columnas.Length); for (int i = 0; i < renglones.Length; i++) { columnas = renglones[i].Split(' '); for (int j = 0; j < columnas.Length; j++) { m.mat[i, j] = Convert.ToSingle(columnas[j]); } } return(m); }
static void Main() { Console.Write("Ingresa tu matriz \n >> "); string m1 = Console.ReadLine(); Matriz matriz1 = Matriz.Leer(m1); Console.WriteLine(matriz1.ToString()); Console.Write(">>"); string m2 = Console.ReadLine(); Matriz matriz2 = Matriz.Leer(m2); Console.WriteLine(matriz2 + " \n m1*m2 "); //Console.WriteLine((matriz1 + matriz2).ToString()); //Console.Write(">>+m2 \n"); //Console.WriteLine(+matriz2); Console.WriteLine(matriz1 * matriz2 + "\n>>"); }
/*m1 m2 * 1 2 3 1 1 * 4 5 6 2 3 * 1 2 1 0 1 * mx n n xs */ public static Matriz operator *(Matriz m1, Matriz m2) { Matriz m3 = new Matriz(m1.Reng, m2.Colum); for (int i = 0; i < m3.Reng; i++) { for (int j = 0; j < m3.Colum; j++) { float suma = 0; for (int k = 0; k < m1.Colum; k++) { //suma= suma+ m1.mat[i, k] * m2.mat[k, j]; suma += m1.mat[i, k] * m2.mat[k, j]; } m3.mat[i, j] = suma; } } return(m3); }