Вывод уравнения прямой на языке C

Обновлено: 27.09.2025

Задача. Найти уравнение прямой, проходящей через две заданные пользователем точки координатной плоскости.

Пояснение. Уравнение любой прямой имеет вид y = kx + b. Когда требуется определить уравнение известной прямой (а она известна из заданной пары координат), значит надо найти коэффициенты k и b ее уравнения. Если известны две координаты (x; y), то получают систему уравнений:

| y1 = kx1 + b
| y2 = kx2 + b

Далее решают ее относительно коэффициентов k и b. Из любого уравнения выражаем b через остальные члены этого уравнения:

b = y2 - kx2

Полученное выражение подставляем вместо b в другое уравнение:

y1 = kx1 + y2 - kx2

Выражаем k через известные координаты:

kx2 - kx1 = y2 - у1
k(x2 - x1) = y2 - у1
k = (y2 - y1) / (x2 - x1)

Алгоритм решения задачи:

  1. Запросить с ввода координаты двух точек прямой.
  2. По формуле вычислить значение коэффициента k.
  3. Подставить k в формулу вычисления b. Получить b.
  4. Вывести уравнение прямой на экран, подставив вместо k и b их полученные значения.

Решение задачи на языке программирования C (Си):

#include <stdio.h>

int main () {
    float x1, y1;
    float x2, y2;
    float k, b;

    printf("A(x1; y1): ");
    scanf("%f%f", &x1, &y1);
    printf("A(x2; y2): ");
    scanf("%f%f", &x2, &y2);

    k = (y2 - y1) / (x2 - x1);
    b = y2 - k * x2;

    printf("y = %.2fx + %.2f\n", k, b);
}

Пример выполнения кода:

A(x1; y1): 4.2 -4.8
A(x2; y2): 1.42 9
y = -4.96x + 16.05