Курсовая работа: Численные методы при решении задач
///////////////////////////////////////////////////////////////////////////////
// Перемножение матриц m1 (размер - rows1 * cols1) и m2 (размер - cols1 * cols2)
// Результат помещается в result
void MatrixMultiply (double *m1, int rows1, int cols1, double *m2, int cols2, double *result)
{
int i, j, k;
// Получится матрица высотой rows1 и длиной cols2
for (j = 0; j < rows1; j++) // Проход по высоте
{
for (i = 0; i < cols2; i++) // Проход по длине
{
// Очистка элемента
*(result + (cols2 * j + i)) = 0;
for (k = 0; k < cols1; k++) // Проход по элементам
// строки первой матрицы
// Вычисление очередного элемента результата
*(result + (cols2 * j + i)) +=
*(m1 + (cols1 * j + k)) * (*(m2 + (cols2 * k + i)));
}
}
}
///////////////////////////////////////////////////////////////////////////////
// Вычисляет минор матрицы m, полученный вычёркиванием элемента (xel; yel)
// и ложит его в res
void MMinor (double *m, double *res, int siz, int xel, int yel)
{
int i, j, ki = 0, kj = 0; // Исходное состояние
for (j = 0; j < (siz - 1); j++) // Проходим по строкам матрицы res
{