#include <iostream>
using namespace std;
struct punkt
{
float x, y;
} ;
// Funkcja wczytująca współrzędne punktu
void wczytaj_punkt( punkt & p)
{
cout << "Podaj wspolrzedna x: " ;
cin >> p.x ;
cout << "Podaj wspolrzedna y: " ;
cin >> p.y ;
}
// Funkcja sprawdzająca czy punkty leżą po tej samej stronie prostej
bool po_tej_samej_stronie( float A, float B, float C, punkt p1, punkt p2)
{
float wartosc1 = A * p1.x + B * p1.y + C;
float wartosc2 = A * p2.x + B * p2.y + C;
// Punkty są po tej samej stronie, gdy wartości mają ten sam znak
if ( wartosc1 * wartosc2 > 0 )
return true ;
else
return false ;
}
int main( )
{
float A, B, C;
punkt P1, P2;
cout << "Podaj wspolczynniki prostej (A, B, C): " ;
cin >> A >> B >> C;
cout << "Wczytywanie punktu P1:" << endl;
wczytaj_punkt( P1) ;
cout << "Wczytywanie punktu P2:" << endl;
wczytaj_punkt( P2) ;
if ( po_tej_samej_stronie( A, B, C, P1, P2) )
cout << "punkty leza po tej samej stronie prostej" << endl;
else
cout << "punkty nie leza po tej samej stronie prostej" << endl;
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IHB1bmt0CnsKICAgIGZsb2F0IHgsIHk7Cn07CgovLyBGdW5rY2phIHdjenl0dWrEhWNhIHdzcMOzxYJyesSZZG5lIHB1bmt0dQp2b2lkIHdjenl0YWpfcHVua3QocHVua3QgJnApCnsKICAgIGNvdXQgPDwgIlBvZGFqIHdzcG9scnplZG5hIHg6ICI7CiAgICBjaW4gPj4gcC54OwogICAgY291dCA8PCAiUG9kYWogd3Nwb2xyemVkbmEgeTogIjsKICAgIGNpbiA+PiBwLnk7Cn0KCi8vIEZ1bmtjamEgc3ByYXdkemFqxIVjYSBjenkgcHVua3R5IGxlxbzEhSBwbyB0ZWogc2FtZWogc3Ryb25pZSBwcm9zdGVqCmJvb2wgcG9fdGVqX3NhbWVqX3N0cm9uaWUoZmxvYXQgQSwgZmxvYXQgQiwgZmxvYXQgQywgcHVua3QgcDEsIHB1bmt0IHAyKQp7CiAgICBmbG9hdCB3YXJ0b3NjMSA9IEEgKiBwMS54ICsgQiAqIHAxLnkgKyBDOwogICAgZmxvYXQgd2FydG9zYzIgPSBBICogcDIueCArIEIgKiBwMi55ICsgQzsKCiAgICAvLyBQdW5rdHkgc8SFIHBvIHRlaiBzYW1laiBzdHJvbmllLCBnZHkgd2FydG/Fm2NpIG1hasSFIHRlbiBzYW0gem5hawogICAgaWYgKHdhcnRvc2MxICogd2FydG9zYzIgPiAwKQogICAgICAgIHJldHVybiB0cnVlOwogICAgZWxzZQogICAgICAgIHJldHVybiBmYWxzZTsKfQoKaW50IG1haW4oKQp7CiAgICBmbG9hdCBBLCBCLCBDOwogICAgcHVua3QgUDEsIFAyOwoKICAgIGNvdXQgPDwgIlBvZGFqIHdzcG9sY3p5bm5pa2kgcHJvc3RlaiAoQSwgQiwgQyk6ICI7CiAgICBjaW4gPj4gQSA+PiBCID4+IEM7CgogICAgY291dCA8PCAiV2N6eXR5d2FuaWUgcHVua3R1IFAxOiIgPDwgZW5kbDsKICAgIHdjenl0YWpfcHVua3QoUDEpOwoKICAgIGNvdXQgPDwgIldjenl0eXdhbmllIHB1bmt0dSBQMjoiIDw8IGVuZGw7CiAgICB3Y3p5dGFqX3B1bmt0KFAyKTsKCiAgICBpZiAocG9fdGVqX3NhbWVqX3N0cm9uaWUoQSwgQiwgQywgUDEsIFAyKSkKICAgICAgICBjb3V0IDw8ICJwdW5rdHkgbGV6YSBwbyB0ZWogc2FtZWogc3Ryb25pZSBwcm9zdGVqIiA8PCBlbmRsOwogICAgZWxzZQogICAgICAgIGNvdXQgPDwgInB1bmt0eSBuaWUgbGV6YSBwbyB0ZWogc2FtZWogc3Ryb25pZSBwcm9zdGVqIiA8PCBlbmRsOwoKICAgIHJldHVybiAwOwp9