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

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

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

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

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

textual
Листинг программы
  1. #include <math.h>
  2. #include <stdio.h>
  3.  
  4. int Kramer(float a11,float a12,
  5.             float a21,float a22,
  6.             float b1 ,float b2,
  7.             float *x ,float *y)
  8. {
  9.     float det,detx,dety;
  10.     det =a11*a22-a12*a21;
  11.     detx=b1*a22-b2*a12;
  12.     dety=a11*b2-b1*a21;
  13.  
  14.     if (fabs(det) > 1.0E-14)
  15.     {
  16.         *x=detx/det;
  17.         *y=dety/det;
  18.         return 0; /* единственное решение */
  19.     }
  20.     else
  21.         if ((fabs(detx) <1.0E-14) && (fabs(dety) <1.0E-14))
  22.             return 1; /* бесконечное множество решений */
  23.         else
  24.             return -1; /* решений нет */
  25. }
  26.  
  27. int main(int argc, char* argv[])
  28. {
  29.     float A11,A12,B1,A21,A22,B2,X,Y;
  30.     int rc;
  31.  
  32.     printf("A11=");
  33.     scanf("%e",&A11);
  34.     printf("A12=");
  35.     scanf("%e",&A12);
  36.     printf("B1=");
  37.     scanf("%e",&B1);
  38.  
  39.     printf("A21=");
  40.     scanf("%e",&A21);
  41.     printf("A22=");
  42.     scanf("%e",&A22);
  43.     printf("B2=");
  44.     scanf("%e",&B2);
  45.  
  46.     rc=Kramer(A11,A12,A21,A22,B1,B2,&X,&Y);
  47.  
  48.     if (rc == 0)
  49.         printf("X=%e\nY=%e\n",X,Y);
  50.     else
  51.         if (rc == 1)
  52.             printf("Infinite set of roots...\n");
  53.         else
  54.             printf("Set of roots is empty...\n");
  55.  
  56.     return 0;
  57. }

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

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

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


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

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

6   голосов , оценка 4.5 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы