Как перемножить соответствующие элементы 2-х двумерных массивов? C#
Нужно считать с консоля два двумерных массива и соответственно перемножить их элементы, вывести полученный массив.
Например, формат ввода:
2 3 (размерность)
2 0 3
7 2 1
2 3 (размерность)
5 1 6
-1 -2 0
Формат вывода:
10 0 18
-7 -4 0
В случае, если размерность у массивов разная, программа должна вывести сообщение "Ошибка"
Умножение матриц - это не перемножение "соответствующих элементов", это тебя кто-то обманул. Там все намного сложнее.
Вот тебе метод умножения, всякий ввод-вывод уж как-нибудь сам:
public double[,] MultiplyMatrix(double[,] A, double[,] B)
{
int rA = A.GetLength(0);
int cA = A.GetLength(1);
int rB = B.GetLength(0);
int cB = B.GetLength(1);
double temp = 0;
double[,] kHasil = new double[rA, cB];
if (cA != rB)
{
Console.WriteLine("The matrixes are non-conformal and cannot be multiplied.");
}
else
{
for (int i = 0; i < rA; i++)
{
for (int j = 0; j < cB; j++)
{
temp = 0;
for (int k = 0; k < cA; k++)
{
temp += A[i, k] * B[k, j];
}
kHasil[i, j] = temp;
}
}
return kHasil;
}
}