Реализовать функцию перемножения матриц - C#
Формулировка задачи:
1)Даны натуpальные числа n, m. Найти НОД(n,m) с помощью алгоpитма Евклида.
Алгоритм Евклида: если n=0, то НОД(n,m)=m, если n<>0, то для чисел m,n,r, где r-
остаток от деления m на n, выполняется pавенство: НОД(m,n)=НОД(n,r).
2)Даны две матрицы A, B. Реализовать функцию перемножения данных матриц.
3)Дана матрица A. Реализовать функцию расчета определителя матрицы.
(Это 3 разных отдельных задачи)
Спасибо!
Решение задачи: «Реализовать функцию перемножения матриц»
textual
Листинг программы
namespace KirrilSarr
{
class Triangle
{
public static void Multiply_matrix (int[,] array1, int[,] arrary2)
{
int[,] res = new int[array1.GetLength(0), array1.GetLength(1)];
for (int i = 0; i < array1.GetLength(0); i++)
{
for (int j = 0; j < array1.GetLength(1); j++)
{
res[i, j] = array1[i, j] * arrary2[i, j];
Console.Write("{0} ", res[i, j]);
}
Console.WriteLine();
}
}
}
class Program
{
static void Main(string[] args)
{
int [,] a = new int [2,2];
int [,] b = new int [2,2];
Random r = new Random();
Console.WriteLine("a:");
for (int i = 0; i < a.GetLength(0); i++)
{
for (int j = 0; j < a.GetLength(1); j++)
{
a[i,j] = r.Next(1,5);
Console.Write("{0} ", a[i,j]);
}
Console.WriteLine();
}
Console.WriteLine("b:");
for (int i = 0; i < b.GetLength(0); i++)
{
for (int j = 0; j < b.GetLength(1); j++)
{
b[i, j] = r.Next(1, 5);
Console.Write("{0} ", b[i, j]);
}
Console.WriteLine();
}
Console.WriteLine("result:");
Triangle.Multiply_matrix(a, b);
Console.ReadKey();
}
}
}