fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. // Definicja struktury punkt
  5. struct punkt {
  6. float x, y;
  7. };
  8.  
  9. // Funkcja wczytująca punkt
  10. punkt wczytaj_punkt(float x, float y) {
  11. punkt p;
  12. p.x = x;
  13. p.y = y;
  14. return p;
  15. }
  16.  
  17. // Funkcja sprawdzająca, czy dwa punkty leżą po tej samej stronie prostej Ax + By + C = 0
  18. bool po_tej_samej_stronie(punkt p1, punkt p2, float A, float B, float C) {
  19. // Obliczamy wartości równania prostej dla obu punktów
  20. float wartosc1 = A * p1.x + B * p1.y + C;
  21. float wartosc2 = A * p2.x + B * p2.y + C;
  22.  
  23. // Jeśli iloczyn wartości jest większy niż 0, punkty są po tej samej stronie
  24. if (wartosc1 * wartosc2 > 0)
  25. return true;
  26. else
  27. return false;
  28. }
  29.  
  30. int main() {
  31. // Współczynniki prostej: A*x + B*y + C = 0
  32. float A = 1, B = -1, C = 0;
  33.  
  34. // Wczytanie punktów
  35. punkt P1 = wczytaj_punkt(1, 1);
  36. punkt P2 = wczytaj_punkt(-1, -1);
  37.  
  38. // Sprawdzenie, czy punkty leżą po tej samej stronie
  39. if (po_tej_samej_stronie(P1, P2, A, B, C))
  40. cout << "Punkty leza po tej samej stronie prostej." << endl;
  41. else
  42. cout << "Punkty nie leza po tej samej stronie prostej." << endl;
  43.  
  44. return 0;
  45. }
Success #stdin #stdout 0.01s 5320KB
stdin
Standard input is empty
stdout
Punkty nie leza po tej samej stronie prostej.