#include <iostream>
using namespace std;
// Funkcja wczytująca punkt
void wczytaj_punkt(double &x, double &y) {
cin >> x >> y;
}
// Funkcja sprawdzająca czy dwa punkty leżą po tej samej stronie prostej
bool po_tej_samej_stronie(double x1, double y1, double x2, double y2) {
// Współczynniki prostej A*x + B*y + C = 0
double A = 1;
double B = -1;
double C = 0;
// Obliczenie wartości równania dla obu punktów
double W1 = A * x1 + B * y1 + C;
double W2 = A * x2 + B * y2 + C;
// Punkty są po tej samej stronie, jeśli iloczyn wartości ma znak dodatni
return (W1 * W2 > 0);
}
int main() {
double xP1, yP1, xP2, yP2;
cout << "Podaj wspolrzedne pierwszego punktu (x y): ";
wczytaj_punkt(xP1, yP1);
cout << "Podaj wspolrzedne drugiego punktu (x y): ";
wczytaj_punkt(xP2, yP2);
if (po_tej_samej_stronie(xP1, yP1, xP2, yP2)) {
cout << "punkty leza po tej samej stronie prostej" << endl;
} else {
cout << "punkty nie leza po tej samej stronie prostej" << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCi8vIEZ1bmtjamEgd2N6eXR1asSFY2EgcHVua3QKdm9pZCB3Y3p5dGFqX3B1bmt0KGRvdWJsZSAmeCwgZG91YmxlICZ5KSB7CiAgICBjaW4gPj4geCA+PiB5Owp9CgovLyBGdW5rY2phIHNwcmF3ZHphasSFY2EgY3p5IGR3YSBwdW5rdHkgbGXFvMSFIHBvIHRlaiBzYW1laiBzdHJvbmllIHByb3N0ZWoKYm9vbCBwb190ZWpfc2FtZWpfc3Ryb25pZShkb3VibGUgeDEsIGRvdWJsZSB5MSwgZG91YmxlIHgyLCBkb3VibGUgeTIpIHsKICAgIC8vIFdzcMOzxYJjenlubmlraSBwcm9zdGVqIEEqeCArIEIqeSArIEMgPSAwCiAgICBkb3VibGUgQSA9IDE7CiAgICBkb3VibGUgQiA9IC0xOwogICAgZG91YmxlIEMgPSAwOwoKICAgIC8vIE9ibGljemVuaWUgd2FydG/Fm2NpIHLDs3duYW5pYSBkbGEgb2J1IHB1bmt0w7N3CiAgICBkb3VibGUgVzEgPSBBICogeDEgKyBCICogeTEgKyBDOwogICAgZG91YmxlIFcyID0gQSAqIHgyICsgQiAqIHkyICsgQzsKCiAgICAvLyBQdW5rdHkgc8SFIHBvIHRlaiBzYW1laiBzdHJvbmllLCBqZcWbbGkgaWxvY3p5biB3YXJ0b8WbY2kgbWEgem5hayBkb2RhdG5pCiAgICByZXR1cm4gKFcxICogVzIgPiAwKTsKfQoKaW50IG1haW4oKSB7CiAgICBkb3VibGUgeFAxLCB5UDEsIHhQMiwgeVAyOwoKICAgIGNvdXQgPDwgIlBvZGFqIHdzcG9scnplZG5lIHBpZXJ3c3plZ28gcHVua3R1ICh4IHkpOiAiOwogICAgd2N6eXRhal9wdW5rdCh4UDEsIHlQMSk7CgogICAgY291dCA8PCAiUG9kYWogd3Nwb2xyemVkbmUgZHJ1Z2llZ28gcHVua3R1ICh4IHkpOiAiOwogICAgd2N6eXRhal9wdW5rdCh4UDIsIHlQMik7CgogICAgaWYgKHBvX3Rlal9zYW1lal9zdHJvbmllKHhQMSwgeVAxLCB4UDIsIHlQMikpIHsKICAgICAgICBjb3V0IDw8ICJwdW5rdHkgbGV6YSBwbyB0ZWogc2FtZWogc3Ryb25pZSBwcm9zdGVqIiA8PCBlbmRsOwogICAgfSBlbHNlIHsKICAgICAgICBjb3V0IDw8ICJwdW5rdHkgbmllIGxlemEgcG8gdGVqIHNhbWVqIHN0cm9uaWUgcHJvc3RlaiIgPDwgZW5kbDsKICAgIH0KCiAgICByZXR1cm4gMDsKfQ==