Перемножить две матрицы - C#
Формулировка задачи:
надо эти две матрицы перемножить, так и не дойдёт как это сделать.
Листинг программы
- int r = Convert.ToInt16(Console.ReadLine());
- int[,] Matrix = new int[r, r];
- Random random = new Random();
- int rand;
- for (int i = 0; i < r; i++)
- {
- for (int j = 0; j < r; j++)
- {
- rand = random.Next(0, 100);
- Matrix[i, j] = rand;
- }
- }
- for (int i = 0; i < r; i++)
- {
- for (int j = 0; j < r; j++)
- {
- Console.Write(Matrix[i, j] + "\t");
- }
- Console.WriteLine();
- }
- Console.WriteLine(" ");
- //dddddddddddddddddddddddddddddddddddddddddddddddddddd
- for (int z = 0; z < r; z++)
- {
- for (int x = 0; x < r; x++)
- {
- rand = random.Next(0, 100);
- Matrix[z, x] = rand;
- }
- }
- for (int z = 0; z < r; z++)
- {
- for (int x = 0; x < r; x++)
- {
- Console.Write(Matrix[z, x] + "\t");
- }
- Console.WriteLine();
- }
- Console.ReadKey();
Решение задачи: «Перемножить две матрицы»
textual
Листинг программы
- private static double[,] Multiply(double[,] m1, double[,] m2)
- {
- if (m1.GetLength(0) != m2.GetLength(1))
- {
- throw new ArgumentException("Матрицы нельзя перемножить.");
- }
- var result = new double[m1.GetLength(0), m2.GetLength(1)];
- for (int i = 0; i < result.GetLength(0); i++)
- for (int j = 0; j < result.GetLength(1); j++)
- for (int n = 0; n < m1.GetLength(1); n++)
- result[i, j] += m1[i, n] * m2[n, j];
- return result;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д