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

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

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

Программа читает значение a, b, c, d, e, f типа int, решает систему уравнений по правилу Крамера: x=dx/det, y=dy/det, где det=ac-bd, dx=ce-bf,dy=af-cd. так что ли?
#include <conio.h>
#include <stdio.h>
#include<math.h>
main()
{int a,b,c,d,e,f,x,y;
printf("a: \n");
scanf("%d",&a);
printf("b: \n");
scanf("%d",&b);
printf("c: \n");
scanf("%d",&c);
printf("d: \n");
scanf("%d",&d);
printf("e: \n");
scanf("%d",&e);
printf("f: \n");
scanf("%d",&f);
x=(c*e)-(b*f)/(a*e)-(b*d);
y=(a*f)-(c*d)/(a*e)-(b*d);
printf("x: %d\n",x);
printf("y: %d",y);
}

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

textual
Листинг программы
#include <stdio.h>
 
void main()
{
    int a, b, c, d, e, f;
    float x, y;
    printf("a: \n");
    scanf("%d",&a);
    printf("b: \n");
    scanf("%d",&b);
    printf("c: \n");
    scanf("%d",&c);
    printf("d: \n");
    scanf("%d",&d);
    printf("e: \n");
    scanf("%d",&e);
    printf("f: \n");
    scanf("%d",&f);
    
    if((a*c-b*d)!=0)
    {
        x=(float)(c*e-b*f)/(a*c-b*d);
        y=(float)(a*f-c*d)/(a*c-b*d);
        printf("x: %f\n", x);
        printf("y: %f", y);
    }
    else printf("No solutions");
}

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

В этом коде:

  1. Объявлены шесть целочисленных переменных (a, b, c, d, e, f) и две переменные типа float (x, y).
  2. Пользователю предлагается ввести значения для переменных a, b, c, d, e, f.
  3. После ввода всех значений выполняется проверка: если выражение (ac-bd) не равно нулю, то программа продолжает работу, иначе выводится сообщение No solutions.
  4. Вычисляются значения x и y по формулам: x=(float)(ce-bf)/(ac-bd), y=(float)(af-cd)/(ac-bd).
  5. Выводятся значения x и y.

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


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

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

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