Вывод уравнения прямой на языке 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)
Алгоритм решения задачи:
- Запросить с ввода координаты двух точек прямой.
- По формуле вычислить значение коэффициента k.
- Подставить k в формулу вычисления b. Получить b.
- Вывести уравнение прямой на экран, подставив вместо 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