Проверить, лежит ли точка на отрезке
Ввести с клавиатуры координаты начала и конца отрезка на плоскости. Ввести координаты точки. Проверить, лежит ли эта точка на отрезке.
Исходный код на языке C++
#include <iostream>
#include <cstdlib>
using namespace std;
double max(double x, double y)
{
if (x < y) {
return x;
}
return x;
}
double min(double x, double y)
{
if (x > y) {
return y;
}
return x;
}
bool thc(double x, double y, double z, double w, double a, double b)
{
double k, c;
if (z == x) {
return (a == x && b >= min(y, w) && x <= max(y, w));
}
k = (w - y) / (z - x);
c = y - k * x;
return b == a * k + c;
}
int main(int argc, char* argv[])
{
setlocale(LC_ALL, "Russian");
double x, y; // Координаты начала отрезка
double z, w; // Координаты конца отрезка
double a, b; // Координаты точки
bool result;
cout << "Координаты начала отрезка: ";
cin >> x >> y;
cout << "Координаты конца отрезка: ";
cin >> z >> w;
cout << "Координаты точки: ";
cin >> a >> b;
result = thc(x, y, z, w, a, b);
cout << result << endl;
system("pause");
return 0;
}