Вы не умножаете матрицы, вы умножаете их значения.См. https://en.wikipedia.org/wiki/Matrix_multiplication
Например, {{1, 1}, {0, 0}} x {{1, 0}, {1, 0}}
должно привести к {{2, 0}, {0, 0}}
, а не {{1, 0}, {0, 0}}
.
Вот правильный код для умножения матриц (обратите внимание, что он имеет сложность O (n ^ 3), а не O (n ^ 2)):
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
result[i, j] = 0;
for(int k = 0; k < 3; k++)
{
result[i, j] = result[i, j] + matrix1[i, k] * matrix2[k, j];
}
Console.Write(result[i, j] + " ");
}
Console.WriteLine();
}