#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;
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 << "Wczytaj punkt P1:" << endl;
wczytaj_punkt( P1) ;
cout << "Wczytaj punkt P2:" << endl;
wczytaj_punkt( P2) ;
if ( po_tej_samej_stronie( A, B, C, P1, P2) )
cout << "punkty leza po tej samej stronie lub prostej" << endl;
else
cout << "Punkty nie leza po tej samej stronie lub prostej" << endl;
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IHB1bmt0CnsKICAgIGZsb2F0IHgsIHk7Cn07CgovLyBGdW5rY2phIHdjenl0dWrEhWNhIHdzcMOzxYJyesSZZG5lIHB1bmt0dQp2b2lkIHdjenl0YWpfcHVua3QocHVua3QgJnApCnsKICAgIGNvdXQgPDwgIlBvZGFqIHdzcG9scnplZG5hIHg6ICI7CiAgICBjaW4gPj4gcC54OwogICAgY291dCA8PCAiUG9kYWogd3Nwb2xyemVkbmEgeTogIjsKICAgIGNpbiA+PiBwLnk7Cn0KCi8vIEZ1bmtjamEgc3ByYXdkemFqxIVjYSBjenkgcHVua3R5IGxlxbzEhSBwbyB0ZWogc2FtZWogc3Ryb25pZSBwcm9zdGVqCmJvb2wgcG9fdGVqX3NhbWVqX3N0cm9uaWUoZmxvYXQgQSwgZmxvYXQgQiwgZmxvYXQgQywgcHVua3QgUDEsIHB1bmt0IFAyKQp7CiAgICBmbG9hdCB3YXJ0b3NjMSA9IEEgKiBQMS54ICsgQiAqIFAxLnkgKyBDOwogICAgZmxvYXQgd2FydG9zYzIgPSBBICogUDIueCArIEIgKiBQMi55ICsgQzsKCiAgICBpZiAod2FydG9zYzEgKiB3YXJ0b3NjMiA+PSAwKQogICAgICAgIHJldHVybiB0cnVlOwogICAgZWxzZQogICAgICAgIHJldHVybiBmYWxzZTsKfQoKaW50IG1haW4oKQp7CiAgICBmbG9hdCBBLCBCLCBDOwogICAgcHVua3QgUDEsIFAyOwoKICAgIGNvdXQgPDwgIlBvZGFqIHdzcG9sY3p5bm5pa2kgcHJvc3RlaiAoQSBCIEMpOiAiOwogICAgY2luID4+IEEgPj4gQiA+PiBDOwoKICAgIGNvdXQgPDwgIldjenl0YWogcHVua3QgUDE6IiA8PCBlbmRsOwogICAgd2N6eXRhal9wdW5rdChQMSk7CgogICAgY291dCA8PCAiV2N6eXRhaiBwdW5rdCBQMjoiIDw8IGVuZGw7CiAgICB3Y3p5dGFqX3B1bmt0KFAyKTsKCiAgICBpZiAocG9fdGVqX3NhbWVqX3N0cm9uaWUoQSwgQiwgQywgUDEsIFAyKSkKICAgICAgICBjb3V0IDw8ICJwdW5rdHkgbGV6YSBwbyB0ZWogc2FtZWogc3Ryb25pZSBsdWIgcHJvc3RlaiIgPDwgZW5kbDsKICAgIGVsc2UKICAgICAgICBjb3V0IDw8ICJQdW5rdHkgbmllIGxlemEgcG8gdGVqIHNhbWVqIHN0cm9uaWUgbHViIHByb3N0ZWoiIDw8IGVuZGw7CgogICAgcmV0dXJuIDA7Cn0=