#include <iostream>
using namespace std;
void czytaj_punkt( double & x, double & y)
{
cout << "Podaj wspolrzedna x: " ;
cin >> x;
cout << "Podaj wspolrzedna y: " ;
cin >> y;
}
bool punkt_w_odcinku( double xA, double yA, double xB, double yB, double xP, double yP)
{
double iloczyn = ( xP - xA) * ( yB - yA) - ( yP - yA) * ( xB - xA) ;
if ( iloczyn ! = 0 )
return false ;
if ( xP >= min( xA, xB) && xP <= max( xA, xB) &&
yP >= min( yA, yB) && yP <= max( yA, yB) )
return true ;
return false ;
}
int main( )
{
double xA, yA, xB, yB, xP, yP;
cout << "Podaj wspolrzedne punktu A:\n " ;
czytaj_punkt( xA, yA) ;
cout << "Podaj wspolrzedne punktu B:\n " ;
czytaj_punkt( xB, yB) ;
cout << "Podaj wspolrzedne punktu P:\n " ;
czytaj_punkt( xP, yP) ;
if ( punkt_w_odcinku( xA, yA, xB, yB, xP, yP) )
cout << "Prawda - punkt P nalezy do odcinka AB\n " ;
else
cout << "Falsz - punkt P nie nalezy do odcinka AB\n " ;
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBjenl0YWpfcHVua3QoZG91YmxlICZ4LCBkb3VibGUgJnkpCnsKICAgIGNvdXQgPDwgIlBvZGFqIHdzcG9scnplZG5hIHg6ICI7CiAgICBjaW4gPj4geDsKICAgIGNvdXQgPDwgIlBvZGFqIHdzcG9scnplZG5hIHk6ICI7CiAgICBjaW4gPj4geTsKfQoKYm9vbCBwdW5rdF93X29kY2lua3UoZG91YmxlIHhBLCBkb3VibGUgeUEsIGRvdWJsZSB4QiwgZG91YmxlIHlCLCBkb3VibGUgeFAsIGRvdWJsZSB5UCkKewogICAgZG91YmxlIGlsb2N6eW4gPSAoeFAgLSB4QSkgKiAoeUIgLSB5QSkgLSAoeVAgLSB5QSkgKiAoeEIgLSB4QSk7CgogICAgaWYgKGlsb2N6eW4gIT0gMCkKICAgICAgICByZXR1cm4gZmFsc2U7CgogICAgaWYgKHhQID49IG1pbih4QSwgeEIpICYmIHhQIDw9IG1heCh4QSwgeEIpICYmCiAgICAgICAgeVAgPj0gbWluKHlBLCB5QikgJiYgeVAgPD0gbWF4KHlBLCB5QikpCiAgICAgICAgcmV0dXJuIHRydWU7CgogICAgcmV0dXJuIGZhbHNlOwp9CgppbnQgbWFpbigpCnsKICAgIGRvdWJsZSB4QSwgeUEsIHhCLCB5QiwgeFAsIHlQOwoKICAgIGNvdXQgPDwgIlBvZGFqIHdzcG9scnplZG5lIHB1bmt0dSBBOlxuIjsKICAgIGN6eXRhal9wdW5rdCh4QSwgeUEpOwoKICAgIGNvdXQgPDwgIlBvZGFqIHdzcG9scnplZG5lIHB1bmt0dSBCOlxuIjsKICAgIGN6eXRhal9wdW5rdCh4QiwgeUIpOwoKICAgIGNvdXQgPDwgIlBvZGFqIHdzcG9scnplZG5lIHB1bmt0dSBQOlxuIjsKICAgIGN6eXRhal9wdW5rdCh4UCwgeVApOwoKICAgIGlmIChwdW5rdF93X29kY2lua3UoeEEsIHlBLCB4QiwgeUIsIHhQLCB5UCkpCiAgICAgICAgY291dCA8PCAiUHJhd2RhIC0gcHVua3QgUCBuYWxlenkgZG8gb2RjaW5rYSBBQlxuIjsKICAgIGVsc2UKICAgICAgICBjb3V0IDw8ICJGYWxzeiAtIHB1bmt0IFAgbmllIG5hbGV6eSBkbyBvZGNpbmthIEFCXG4iOwoKICAgIHJldHVybiAwOwp9