#include <iostream>
using namespace std;
struct Punkt {
double x;
double y;
};
struct Prosta {
double A;
double B;
double C;
};
bool taSamaStrona(Prosta p, Punkt P1, Punkt P2)
{
double W1 = p.A * P1.x + p.B * P1.y + p.C;
double W2 = p.A * P2.x + p.B * P2.y + p.C;
return (W1 * W2 > 0);
}
int main()
{
Prosta prosta;
Punkt P1, P2;
cout << "Podaj A, B, C: ";
cin >> prosta.A >> prosta.B >> prosta.C;
cout << "Podaj xP1, yP1: ";
cin >> P1.x >> P1.y;
cout << "Podaj xP2, yP2: ";
cin >> P2.x >> P2.y;
if (taSamaStrona(prosta, P1, P2))
cout << "Punkty leza po tej samej stronie prostej." << endl;
else
cout << "Punkty NIE leza po tej samej stronie prostej." << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnN0cnVjdCBQdW5rdCB7CiAgICBkb3VibGUgeDsKICAgIGRvdWJsZSB5Owp9OwoKc3RydWN0IFByb3N0YSB7CiAgICBkb3VibGUgQTsKICAgIGRvdWJsZSBCOwogICAgZG91YmxlIEM7Cn07Cgpib29sIHRhU2FtYVN0cm9uYShQcm9zdGEgcCwgUHVua3QgUDEsIFB1bmt0IFAyKQp7CiAgICBkb3VibGUgVzEgPSBwLkEgKiBQMS54ICsgcC5CICogUDEueSArIHAuQzsKICAgIGRvdWJsZSBXMiA9IHAuQSAqIFAyLnggKyBwLkIgKiBQMi55ICsgcC5DOwoKICAgIHJldHVybiAoVzEgKiBXMiA+IDApOwp9CgppbnQgbWFpbigpCnsKICAgIFByb3N0YSBwcm9zdGE7CiAgICBQdW5rdCBQMSwgUDI7CgogICAgY291dCA8PCAiUG9kYWogQSwgQiwgQzogIjsKICAgIGNpbiA+PiBwcm9zdGEuQSA+PiBwcm9zdGEuQiA+PiBwcm9zdGEuQzsKCiAgICBjb3V0IDw8ICJQb2RhaiB4UDEsIHlQMTogIjsKICAgIGNpbiA+PiBQMS54ID4+IFAxLnk7CgogICAgY291dCA8PCAiUG9kYWogeFAyLCB5UDI6ICI7CiAgICBjaW4gPj4gUDIueCA+PiBQMi55OwoKICAgIGlmICh0YVNhbWFTdHJvbmEocHJvc3RhLCBQMSwgUDIpKQogICAgICAgIGNvdXQgPDwgIlB1bmt0eSBsZXphIHBvIHRlaiBzYW1laiBzdHJvbmllIHByb3N0ZWouIiA8PCBlbmRsOwogICAgZWxzZQogICAgICAgIGNvdXQgPDwgIlB1bmt0eSBOSUUgbGV6YSBwbyB0ZWogc2FtZWogc3Ryb25pZSBwcm9zdGVqLiIgPDwgZW5kbDsKCiAgICByZXR1cm4gMDsKfQ==