Как умножить матрицу на саму себя - C#
Формулировка задачи:
Как умножить матрицу MxN на саму себя, то есть возвести ее во вторую степень?
Помогите пожалуйста написать шаблон в c#
Решение задачи: «Как умножить матрицу на саму себя»
textual
Листинг программы
class Program
{
static void MatrSquare (int[,] matA )
{
int m = matA.GetLength(0);
int n = matA.GetLength(1);
if (m == n)
{
int[,] matB = new int[m, m];
for (int i = 0; i < m; i++)
{
for (int j = 0; j < m; j++)
{
int temp = 0;
for (int k = 0; k < m; k++)
{
temp += matA[i, k] * matA[k, j];
}
matB[i, j] += temp;
}
}
for (int i = 0; i < m; i++)
{
for (int j = 0; j < m; j++)
{
matA[i, j] = matB[i, j];
}
}
}
else
Console.Write("Возведение в степень прямоугольной матрицы не возможно");
}
static void Main(string[] args)
{
int[,] matA = new int[3, 3] { { -1, 2, -5 }, { 3, 4, 1 }, { 0, 1, 2 } };
MatrSquare(matA);
}
}