Я пытался найти обратную матрицу для матрицы 4 X 4 (позже превратится в n X n).Поэтому я попытался найти кофакторы матрицы.
My algorithm is as follows:
suppose a matrix : 1 2 3 4
5 6 7 8
8 9 10 11
12 13 14 15
, чтобы найти кофактор, я удалил одну строку (предположим, первый: теперь наша матрица 3 X 4, начиная с 5 и заканчивая 15. ДалееШаг состоял в том, чтобы удалить один столбец (начиная с левой стороны) и получить матрицу 3 X 3. Следующий шаг - найти определитель. Однако у меня возникли проблемы с удалением столбцов после первого (например, 6, 9, 13), здесьэто код, который я использовал:
[...]
//Breaking the matrix into (n-1) X (n-1) format
for (j = 0; j < 4; j++)
{
m = 2;
for ( i = 0; i < 3; i++)
{
ch = 0;
while ((ch >= 0) && (ch < 3))
{
if ((m+1) < j)
{
e[ch][m] = b[ch][m+1];
}
else if ((m+1) == j)
{
NULL;
}
else if ((m+1) > j)
{
e[ch][m] = b[ch][m+1];
}
ch++;
}
m--;
}
Массив b уже содержал матрицу 3 X 4, и я пытался сохранить матрицу 3 X 3 в матрице c, однако, когда я делал свой цикл, мой 3Матрица X 3 всегда приводила к {6, 7, 8}, {9, 10, 11}, {13, 14, 15}. Кроме того, по некоторым причинам я не могу получить доступ к (if (m + 1) ==J) {NULLL;} оператор. Программа никогда не входит в это условие.