#include <iostream>
using namespace std;
struct punkt
{
float x, y;
} ;
void wczytaj_punkt( punkt & p)
{
cout << "Podaj wspolrzedne punktu (x y): " ;
cin >> p.x >> p.y ;
}
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;
return ( wartosc1 * wartosc2 > 0 ) ;
}
int main( )
{
float A, B, C;
punkt P1, P2;
cout << "Podaj wspolczynniki prostej (A B C): " ;
cin >> A >> B >> C;
if ( A == 0 && B == 0 )
{
cout << "Niepoprawne wspolczynniki prostej (A i B nie moga byc jednoczesnie zerowe)." ;
return 0 ;
}
cout << "\n Punkt P1:\n " ;
wczytaj_punkt( P1) ;
cout << "Punkt P2:\n " ;
wczytaj_punkt( P2) ;
if ( po_tej_samej_stronie( A, B, C, P1, P2) )
cout << "\n Pkt leza po tej samej stronie prostej." ;
else
cout << "\n Pkt nie leza po tej samej stronie prostej." ;
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IHB1bmt0CnsKICAgIGZsb2F0IHgsIHk7Cn07Cgp2b2lkIHdjenl0YWpfcHVua3QocHVua3QgJnApCnsKICAgIGNvdXQgPDwgIlBvZGFqIHdzcG9scnplZG5lIHB1bmt0dSAoeCB5KTogIjsKICAgIGNpbiA+PiBwLnggPj4gcC55Owp9Cgpib29sIHBvX3Rlal9zYW1lal9zdHJvbmllKGZsb2F0IEEsIGZsb2F0IEIsIGZsb2F0IEMsIHB1bmt0IFAxLCBwdW5rdCBQMikKewogICAgZmxvYXQgd2FydG9zYzEgPSBBICogUDEueCArIEIgKiBQMS55ICsgQzsKICAgIGZsb2F0IHdhcnRvc2MyID0gQSAqIFAyLnggKyBCICogUDIueSArIEM7CgogICAgcmV0dXJuICh3YXJ0b3NjMSAqIHdhcnRvc2MyID4gMCk7Cn0KCmludCBtYWluKCkKewogICAgZmxvYXQgQSwgQiwgQzsKICAgIHB1bmt0IFAxLCBQMjsKCiAgICBjb3V0IDw8ICJQb2RhaiB3c3BvbGN6eW5uaWtpIHByb3N0ZWogKEEgQiBDKTogIjsKICAgIGNpbiA+PiBBID4+IEIgPj4gQzsKCiAgICBpZiAoQSA9PSAwICYmIEIgPT0gMCkKICAgIHsKICAgICAgICBjb3V0IDw8ICJOaWVwb3ByYXduZSB3c3BvbGN6eW5uaWtpIHByb3N0ZWogKEEgaSBCIG5pZSBtb2dhIGJ5YyBqZWRub2N6ZXNuaWUgemVyb3dlKS4iOwogICAgICAgIHJldHVybiAwOwogICAgfQoKICAgIGNvdXQgPDwgIlxuUHVua3QgUDE6XG4iOwogICAgd2N6eXRhal9wdW5rdChQMSk7CgogICAgY291dCA8PCAiUHVua3QgUDI6XG4iOwogICAgd2N6eXRhal9wdW5rdChQMik7CgogICAgaWYgKHBvX3Rlal9zYW1lal9zdHJvbmllKEEsIEIsIEMsIFAxLCBQMikpCiAgICAgICAgY291dCA8PCAiXG5Qa3QgbGV6YSBwbyB0ZWogc2FtZWogc3Ryb25pZSBwcm9zdGVqLiI7CiAgICBlbHNlCiAgICAgICAgY291dCA8PCAiXG5Qa3QgbmllIGxlemEgcG8gdGVqIHNhbWVqIHN0cm9uaWUgcHJvc3Rlai4iOwoKICAgIHJldHVybiAwOwp9