// jszczechura-048.cpp
#include <iostream>
using namespace std;
struct punkt
{
float x, y;
};
// Funkcja "wczytująca" punkt (tu przypisujemy dane na stałe)
void wczytaj_punkt(punkt &p, float x, float y)
{
p.x = x;
p.y = y;
}
// Funkcja sprawdzająca, czy punkty leżą po tej samej stronie prostej
bool po_tej_samej_stronie(float A, float B, float C, punkt P1, punkt P2)
{
float wartosc1 = A * P1.x + B * P1.y + C;
float wartosc2 = A * P2.x + B * P2.y + C;
if (wartosc1 * wartosc2 >= 0)
return true;
else
return false;
}
int main()
{
// Współczynniki prostej Ax + By + C = 0
float A = 1;
float B = 1;
float C = 0;
punkt P1, P2;
// Wpisane na stałe współrzędne punktów
wczytaj_punkt(P1, 1, 1);
wczytaj_punkt(P2, -1, -1);
if (po_tej_samej_stronie(A, B, C, P1, P2))
cout << "Punkty leza po tej samej stronie lub na prostej." << endl;
else
cout << "Punkty nie leza po tej samej stronie ani na prostej." << endl;
return 0;
}
Ly8ganN6Y3plY2h1cmEtMDQ4LmNwcAojaW5jbHVkZSA8aW9zdHJlYW0+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IHB1bmt0CnsKICAgIGZsb2F0IHgsIHk7Cn07CgovLyBGdW5rY2phICJ3Y3p5dHVqxIVjYSIgcHVua3QgKHR1IHByenlwaXN1amVteSBkYW5lIG5hIHN0YcWCZSkKdm9pZCB3Y3p5dGFqX3B1bmt0KHB1bmt0ICZwLCBmbG9hdCB4LCBmbG9hdCB5KQp7CiAgICBwLnggPSB4OwogICAgcC55ID0geTsKfQoKLy8gRnVua2NqYSBzcHJhd2R6YWrEhWNhLCBjenkgcHVua3R5IGxlxbzEhSBwbyB0ZWogc2FtZWogc3Ryb25pZSBwcm9zdGVqCmJvb2wgcG9fdGVqX3NhbWVqX3N0cm9uaWUoZmxvYXQgQSwgZmxvYXQgQiwgZmxvYXQgQywgcHVua3QgUDEsIHB1bmt0IFAyKQp7CiAgICBmbG9hdCB3YXJ0b3NjMSA9IEEgKiBQMS54ICsgQiAqIFAxLnkgKyBDOwogICAgZmxvYXQgd2FydG9zYzIgPSBBICogUDIueCArIEIgKiBQMi55ICsgQzsKCiAgICBpZiAod2FydG9zYzEgKiB3YXJ0b3NjMiA+PSAwKQogICAgICAgIHJldHVybiB0cnVlOwogICAgZWxzZQogICAgICAgIHJldHVybiBmYWxzZTsKfQoKaW50IG1haW4oKQp7CiAgICAvLyBXc3DDs8WCY3p5bm5pa2kgcHJvc3RlaiBBeCArIEJ5ICsgQyA9IDAKICAgIGZsb2F0IEEgPSAxOwogICAgZmxvYXQgQiA9IDE7CiAgICBmbG9hdCBDID0gMDsKCiAgICBwdW5rdCBQMSwgUDI7CgogICAgLy8gV3Bpc2FuZSBuYSBzdGHFgmUgd3Nww7PFgnJ6xJlkbmUgcHVua3TDs3cKICAgIHdjenl0YWpfcHVua3QoUDEsIDEsIDEpOwogICAgd2N6eXRhal9wdW5rdChQMiwgLTEsIC0xKTsKCiAgICBpZiAocG9fdGVqX3NhbWVqX3N0cm9uaWUoQSwgQiwgQywgUDEsIFAyKSkKICAgICAgICBjb3V0IDw8ICJQdW5rdHkgbGV6YSBwbyB0ZWogc2FtZWogc3Ryb25pZSBsdWIgbmEgcHJvc3Rlai4iIDw8IGVuZGw7CiAgICBlbHNlCiAgICAgICAgY291dCA8PCAiUHVua3R5IG5pZSBsZXphIHBvIHRlaiBzYW1laiBzdHJvbmllIGFuaSBuYSBwcm9zdGVqLiIgPDwgZW5kbDsKCiAgICByZXR1cm4gMDsKfQ==