Найти определитель матрицы - 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]);
}

Объяснение кода листинга программы

  1. Переменная N объявляется и инициализируется значением количества строк в матрице.
  2. В цикле for происходит итерация по каждой строке матрицы.
  3. Внутри цикла происходит вычисление определителя матрицы по формуле det(A) = sum(A[i][i])*A[i][i] и проверка на его неравенство нулю.
  4. Если определитель матрицы близок к нулю, выводится сообщение об ошибке и программа завершается.
  5. В противном случае, значения в матрице sum инициализируются значениями из матрицы A с учетом разделения на собственные и присобственные значения.
  6. Значения в матрице sum пересчитываются путем исключения из них произведений соответствующих строк матрицы A.
  7. После завершения цикла выводится сообщение о том, что получена обратная матрица.
  8. В цикле for происходит вывод значений обратной матрицы на экран.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы