Вам понадобится
- Калькулятор
Инструкция
1
2
Для проверки этого условия проще всего воспользоваться следующим алгоритмом - запишите размерность первой матрицы как (a*b). Дальше размерность второй - (c*d). Если b=c - матрицы соразмерны, их можно перемножать.
3
Дальше произведите само перемножение. Помните - при перемножении двух матриц получается новая матрица. То есть, задача перемножения сводится к задаче нахождения элементов новой, с размерностью (a*d). На языке СИ решение задачи перемножения матрицы выглядит следующим образом:
void matrixmult( int m1[][n], int m1_row, int m1_col, int m2[][n], int m2_row, int m2_col, int m3[][n], int m3_row, int m3_col)
{ for (int i = 0; i < m3_row; i++)
for (int j = 0; j < m3_col; j++)
m3[i][j]=0;
for (int k = 0; k < m2_col; k++)
for (int i = 0; i < m1_row; i++)
for (int j = 0; j < m1_col; j++)
m3[i][k] += m1[i][j] * m2[j][k];
}
void matrixmult( int m1[][n], int m1_row, int m1_col, int m2[][n], int m2_row, int m2_col, int m3[][n], int m3_row, int m3_col)
{ for (int i = 0; i < m3_row; i++)
for (int j = 0; j < m3_col; j++)
m3[i][j]=0;
for (int k = 0; k < m2_col; k++)
for (int i = 0; i < m1_row; i++)
for (int j = 0; j < m1_col; j++)
m3[i][k] += m1[i][j] * m2[j][k];
}
4
Проще говоря, элемент новой матрицы - это сумма произведений элементов строки первой матрицы на элементы столбца второй матрицы. Если вы находите элемент третьей матрицы с номером (1;2), то вы должны просто умножить первую строку первой матрицы на второй столбец второй. Для этого считаете начальную сумму элемента равной нулю. Дальше умножаете первый элемент первой строки на первый элемент второго столбца, значение добавляете в сумму. Делаете так: умножаете i-тый элемент первой строки на i-тый элемент второго столбца и добавляете результаты к сумме, пока не кончится строка. Итоговая сумма и будет искомым элементом.
5
После того, как вы нашли все элементы третьей матрицы, записываете ее. Вы нашли произведение матриц.
Источники:
- Главный математический портал России
- как находить произведение матриц