2행 2열 크기의 두 행렬을 곱셈하는 프로그램을 작성하겠습니다. 아래가 문제입니다.
A B
[3,2] [9,2]
[1,4] X [1,7]
class Program {
static void Main(string[] args) {
int[,] matrixA = {
{ 3, 2 },
{ 1, 4 }
};
int[,] matrixB = {
{ 9, 2 },
{ 1, 7 }
};
int[,] matrixAB = MatrixMultiple(matrixA, matrixB);
for (int i = 0; i < matrixAB.GetLength(0); i++) {
for (int j = 0; j < matrixAB.GetLength(1); j++) {
Console.Write(matrixAB[i, j] + " ");
}
Console.WriteLine();
}
}
static int[,] MatrixMultiple(int[,] arrA, int[,] arrB) {
int[,] result =
{
{arrA[0,0]*arrB[0,0] + arrA[0,1]*arrB[1,0] , arrA[0,0]*arrB[0,1] + arrA[0,1]*arrB[1,1]},
{arrA[1,0]*arrB[0,0] + arrA[1,1]*arrB[1,0] , arrA[1,0]*arrB[0,1] + arrA[1,1]*arrB[1,1]}
};
return result;
}
}
2*2 행렬의 곱셈 식을 그냥 박아넣었습니다. 답이 정상적으로 출력되고 있습니다.
만약 행렬이 더 복잡해진다면 많은 수정이 필요하겠지만, 머리아프니 간단히 주어진 문제만 풀고 물러가겠습니다...('..');;