Решение системы двух уравнений с двумя неизвестными методом Крамера - C (СИ)

Узнай цену своей работы

Формулировка задачи:

нужно составить алгоритм на языке СИ, который бы решил систему двух уравнении с двумя неизвестными

Решение задачи: «Решение системы двух уравнений с двумя неизвестными методом Крамера»

textual
Листинг программы
#include <math.h>
#include <stdio.h>
 
int Kramer(float a11,float a12,
            float a21,float a22,
            float b1 ,float b2,
            float *x ,float *y)
{
    float det,detx,dety;
    det =a11*a22-a12*a21;
    detx=b1*a22-b2*a12;
    dety=a11*b2-b1*a21;
 
    if (fabs(det) > 1.0E-14) 
    {
        *x=detx/det;
        *y=dety/det;
        return 0; /* единственное решение */
    }
    else
        if ((fabs(detx) <1.0E-14) && (fabs(dety) <1.0E-14))
            return 1; /* бесконечное множество решений */
        else
            return -1; /* решений нет */
}
 
int main(int argc, char* argv[])
{
    float A11,A12,B1,A21,A22,B2,X,Y;
    int rc;
 
    printf("A11=");
    scanf("%e",&A11);
    printf("A12=");
    scanf("%e",&A12);
    printf("B1=");
    scanf("%e",&B1);
 
    printf("A21=");
    scanf("%e",&A21);
    printf("A22=");
    scanf("%e",&A22);
    printf("B2=");
    scanf("%e",&B2);
 
    rc=Kramer(A11,A12,A21,A22,B1,B2,&X,&Y);
 
    if (rc == 0)
        printf("X=%e\nY=%e\n",X,Y);
    else
        if (rc == 1)
            printf("Infinite set of roots...\n");
        else
            printf("Set of roots is empty...\n");
 
    return 0;
}

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

  1. В функции Kramer происходит решение системы двух уравнений методом Крамера.
  2. В функции main осуществляется ввод данных для системы уравнений и вызов функции Kramer.
  3. Если решение существует, то выводятся значения X и Y.
  4. Если решений бесконечное множество, то выводится сообщение Infinite set of roots....
  5. Если решений нет, то выводится сообщение Set of roots is empty....

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


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

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

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