using System; namespace Test { public class T { public static void MultiplyMatrix() { Random ran = new Random(); int[,] a = new int[2, 3]; // Инициализируем данный массив for (int i = 0; i < a.GetLength(0); i++) { for (int j = 0; j < a.GetLength(1); j++) { a[i, j] = ran.Next(1, 15); } } //вывод матрицы а Console.Write("Матрица A: \n "); for (int i = 0; i < a.GetLength(0); i++) { for (int j = 0; j < a.GetLength(1); j++) { Console.Write("{0} ", a[i, j]); // крутой вывод } Console.WriteLine(); } int[,] b = new int[3, 2]; // Инициализируем данный массив for (int i = 0; i < b.GetLength(0); i++) { for (int j = 0; j < b.GetLength(1); j++) { b[i, j] = ran.Next(1, 15); } } //вывод матрицы b Console.Write("Матрица B: \n "); for (int i = 0; i < b.GetLength(0); i++) { for (int j = 0; j < b.GetLength(1); j++) { Console.Write("{0} ", b[i, j]); // крутой вывод } Console.WriteLine(); } int[,] c = new int[a.GetLength(0), b.GetLength(1)]; if (a.GetLength(1) == b.GetLength(0)) { for (int i = 0; i < a.GetLength(0); i++) { for (int j = 0; j < b.GetLength(1); j++) { for (int k = 0; k < b.GetLength(0); k++) { c[i, j] += a[i, k] * b[k, j]; } } } } else { Console.WriteLine( "\n Количество столбцов матрицы А неравно количеству строк матрицы B! \n "); Environment.Exit(-1); } Console.Write("Сумма матриц A и B = C: \n "); for (int i = 0; i < c.GetLength(0); i++) { for (int j = 0; j < c.GetLength(1); j++) { //Console.Write("C[{0},{1}] : {2}", i, j, c[i, j]); - хуёвый вывод Console.Write("{0} ", c[i, j]); // крутой вывод } Console.WriteLine(); } } public static void Main() { MultiplyMatrix(); } } }