#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 xP1 = 1, yP1 = 0;
double xP2 = 1, yP2 = 2;
if (po_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;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCi8vIEZ1bmtjamEgd2N6eXR1asSFY2Egd3Nww7PFgnJ6xJlkbmUgcHVua3R1CnZvaWQgcHVua3QoZG91YmxlICZ4LCBkb3VibGUgJnkpIHsKICAgIGNvdXQgPDwgIlBvZGFqIHdzcG9scnplZG5hIHg6ICI7CiAgICBjaW4gPj4geDsKICAgIGNvdXQgPDwgIlBvZGFqIHdzcG9scnplZG5hIHk6ICI7CiAgICBjaW4gPj4geTsKfQoKLy8gRnVua2NqYSBzcHJhd2R6YWrEhWNhLCBjenkgZHdhIHB1bmt0eSBsZcW8xIUgcG8gdGVqIHNhbWVqIHN0cm9uaWUgcHJvc3Rlagpib29sIHBvX3N0cm9uaWUoZG91YmxlIHgxLCBkb3VibGUgeTEsIGRvdWJsZSB4MiwgZG91YmxlIHkyKSB7CiAgICAvLyBXc3DDs8WCY3p5bm5pa2kgcHJvc3RlaiBBeCArIEJ5ICsgQyA9IDAKICAgIGRvdWJsZSBBID0gMTsKICAgIGRvdWJsZSBCID0gLTE7CiAgICBkb3VibGUgQyA9IDA7CgogICAgLy8gT2JsaWN6ZW5pZSB3YXJ0b8WbY2kgcsOzd25hbmlhIGRsYSBvYnUgcHVua3TDs3cKICAgIGRvdWJsZSBXMSA9IEEgKiB4MSArIEIgKiB5MSArIEM7CiAgICBkb3VibGUgVzIgPSBBICogeDIgKyBCICogeTIgKyBDOwoKICAgIC8vIFB1bmt0eSBzxIUgcG8gdGVqIHNhbWVqIHN0cm9uaWUsIGdkeSBpbG9jenluIG1hIHpuYWsgZG9kYXRuaQogICAgaWYgKFcxICogVzIgPiAwKQogICAgICAgIHJldHVybiB0cnVlOwogICAgZWxzZQogICAgICAgIHJldHVybiBmYWxzZTsKfQoKaW50IG1haW4oKSB7CiAgICBkb3VibGUgeFAxID0gMSwgeVAxID0gMDsKICAgIGRvdWJsZSB4UDIgPSAxLCB5UDIgPSAyOwoKICAgIGlmIChwb19zdHJvbmllKHhQMSwgeVAxLCB4UDIsIHlQMikpCiAgICAgICAgY291dCA8PCAiUHVua3R5IGxlemEgcG8gdGVqIHNhbWVqIHN0cm9uaWUgcHJvc3RlaiIgPDwgZW5kbDsKICAgIGVsc2UKICAgICAgICBjb3V0IDw8ICJQdW5rdHkgbmllIGxlemEgcG8gdGVqIHNhbWVqIHN0cm9uaWUgcHJvc3RlaiIgPDwgZW5kbDsKCiAgICByZXR1cm4gMDsKfQ==