#include <iostream>
using namespace std;
void czytaj_punkt(double &x, double &y, double a, double b)
{
x = a;
y = b;
}
double det(double xA, double yA, double xB, double yB, double xP, double yP)
{
return (xB - xA) * (yP - yA) - (yB - yA) * (xP - xA);
}
bool punkty_po_stronie(double xA, double yA, double xB, double yB, double xP, double yP)
{
return det(xA, yA, xB, yB, xP, yP) > 0;
}
int main()
{
double xA, yA, xB, yB, xP, yP;
czytaj_punkt(xA, yA, 1, 1);
czytaj_punkt(xB, yB, 3, 3);
czytaj_punkt(xP, yP, 0, 3);
if (punkty_po_stronie(xA, yA, xB, yB, xP, yP))
cout << "punkt P lezy po lewej stronie";
else
cout << "punkt P lezy po prawej stronie";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBjenl0YWpfcHVua3QoZG91YmxlICZ4LCBkb3VibGUgJnksIGRvdWJsZSBhLCBkb3VibGUgYikKewogICAgeCA9IGE7CiAgICB5ID0gYjsKfQoKZG91YmxlIGRldChkb3VibGUgeEEsIGRvdWJsZSB5QSwgZG91YmxlIHhCLCBkb3VibGUgeUIsIGRvdWJsZSB4UCwgZG91YmxlIHlQKQp7CiAgICByZXR1cm4gKHhCIC0geEEpICogKHlQIC0geUEpIC0gKHlCIC0geUEpICogKHhQIC0geEEpOwp9Cgpib29sIHB1bmt0eV9wb19zdHJvbmllKGRvdWJsZSB4QSwgZG91YmxlIHlBLCBkb3VibGUgeEIsIGRvdWJsZSB5QiwgZG91YmxlIHhQLCBkb3VibGUgeVApCnsKICAgIHJldHVybiBkZXQoeEEsIHlBLCB4QiwgeUIsIHhQLCB5UCkgPiAwOwp9CgppbnQgbWFpbigpCnsKICAgIGRvdWJsZSB4QSwgeUEsIHhCLCB5QiwgeFAsIHlQOwoKICAgIGN6eXRhal9wdW5rdCh4QSwgeUEsIDEsIDEpOwogICAgY3p5dGFqX3B1bmt0KHhCLCB5QiwgMywgMyk7CiAgICBjenl0YWpfcHVua3QoeFAsIHlQLCAwLCAzKTsKCiAgICBpZiAocHVua3R5X3BvX3N0cm9uaWUoeEEsIHlBLCB4QiwgeUIsIHhQLCB5UCkpCiAgICAgICAgY291dCA8PCAicHVua3QgUCBsZXp5IHBvIGxld2VqIHN0cm9uaWUiOwogICAgZWxzZQogICAgICAgIGNvdXQgPDwgInB1bmt0IFAgbGV6eSBwbyBwcmF3ZWogc3Ryb25pZSI7CgogICAgcmV0dXJuIDA7Cn0=