#include <iostream>
using namespace std;
// Funkcja wczytująca współrzędne punktu
void punkt(double &x, double &y) {
cout << "Podaj wspolrzedna x: ";
cin >> x;
cout << "Podaj wspolrzedna y: ";
cin >> y;
}
// Funkcja sprawdzająca, czy dwa punkty leżą po tej samej stronie prostej
bool po_stronie(double x1, double y1, double x2, double y2) {
// Współczynniki prostej Ax + By + 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, gdy iloczyn ma znak dodatni
if (W1 * W2 > 0)
return true;
else
return false;
}
int main() {
double xP3 = -1, yP3 = 0;
double xP4 = 2, yP4 = 2.2;
if (po_stronie(xP3, yP3, xP4, yP4))
cout << "Punkty leza po tej samej stronie prostej" << endl;
else
cout << "Punkty nie leza po tej samej stronie prostej" << endl;
return 0;
}
CiNpbmNsdWRlIDxpb3N0cmVhbT4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgovLyBGdW5rY2phIHdjenl0dWrEhWNhIHdzcMOzxYJyesSZZG5lIHB1bmt0dQp2b2lkIHB1bmt0KGRvdWJsZSAmeCwgZG91YmxlICZ5KSB7CiAgICBjb3V0IDw8ICJQb2RhaiB3c3BvbHJ6ZWRuYSB4OiAiOwogICAgY2luID4+IHg7CiAgICBjb3V0IDw8ICJQb2RhaiB3c3BvbHJ6ZWRuYSB5OiAiOwogICAgY2luID4+IHk7Cn0KCi8vIEZ1bmtjamEgc3ByYXdkemFqxIVjYSwgY3p5IGR3YSBwdW5rdHkgbGXFvMSFIHBvIHRlaiBzYW1laiBzdHJvbmllIHByb3N0ZWoKYm9vbCBwb19zdHJvbmllKGRvdWJsZSB4MSwgZG91YmxlIHkxLCBkb3VibGUgeDIsIGRvdWJsZSB5MikgewogICAgLy8gV3Nww7PFgmN6eW5uaWtpIHByb3N0ZWogQXggKyBCeSArIEMgPSAwCiAgICBkb3VibGUgQSA9IDE7CiAgICBkb3VibGUgQiA9IC0xOwogICAgZG91YmxlIEMgPSAwOwoKICAgIC8vIE9ibGljemVuaWUgd2FydG/Fm2NpIHLDs3duYW5pYSBkbGEgb2J1IHB1bmt0w7N3CiAgICBkb3VibGUgVzEgPSBBICogeDEgKyBCICogeTEgKyBDOwogICAgZG91YmxlIFcyID0gQSAqIHgyICsgQiAqIHkyICsgQzsKCiAgICAvLyBQdW5rdHkgc8SFIHBvIHRlaiBzYW1laiBzdHJvbmllLCBnZHkgaWxvY3p5biBtYSB6bmFrIGRvZGF0bmkKICAgIGlmIChXMSAqIFcyID4gMCkKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIGVsc2UKICAgICAgICByZXR1cm4gZmFsc2U7Cn0KCmludCBtYWluKCkgewogICAgZG91YmxlIHhQMyA9IC0xLCB5UDMgPSAwOwogICAgZG91YmxlIHhQNCA9IDIsIHlQNCA9IDIuMjsKCiAgICBpZiAocG9fc3Ryb25pZSh4UDMsIHlQMywgeFA0LCB5UDQpKQogICAgICAgIGNvdXQgPDwgIlB1bmt0eSBsZXphIHBvIHRlaiBzYW1laiBzdHJvbmllIHByb3N0ZWoiIDw8IGVuZGw7CiAgICBlbHNlCiAgICAgICAgY291dCA8PCAiUHVua3R5IG5pZSBsZXphIHBvIHRlaiBzYW1laiBzdHJvbmllIHByb3N0ZWoiIDw8IGVuZGw7CgogICAgcmV0dXJuIDA7Cn0=