Найти определитель матрицы - C (СИ) (150101)
Формулировка задачи:
Ни в какую не могу найти определитель матрицы nxn, просто не выходит и всё,помогите, пожалуйста
Решение задачи: «Найти определитель матрицы»
textual
Листинг программы
for(k=0; k<N; k++) { d=sum[k][k]; if(fabs(d)<1.e-7) { printf("error"); return 0; } for(j=2*N-1; j>=0; j--) sum[k][j]=sum[k][j]/d; for(i=0; i<N; i++) for(j=2*N-1; j>=0; j--) if(i!=k) sum[i][j]=sum[i][j]-sum[i][k]*sum[k][j]; } printf("\nObratnaya matrica imeet vid"); for(i=0; i<N; i++) { printf("\n"); for(j=N; j<2*N; j++) printf("%4.2f\t", sum[i][j]); }
Объяснение кода листинга программы
- Переменная
N
объявляется и инициализируется значением количества строк в матрице. - В цикле
for
происходит итерация по каждой строке матрицы. - Внутри цикла происходит вычисление определителя матрицы по формуле det(A) = sum(A[i][i])*A[i][i] и проверка на его неравенство нулю.
- Если определитель матрицы близок к нулю, выводится сообщение об ошибке и программа завершается.
- В противном случае, значения в матрице
sum
инициализируются значениями из матрицыA
с учетом разделения на собственные и присобственные значения. - Значения в матрице
sum
пересчитываются путем исключения из них произведений соответствующих строк матрицыA
. - После завершения цикла выводится сообщение о том, что получена обратная матрица.
- В цикле
for
происходит вывод значений обратной матрицы на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д