fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. struct punkt
  5. {
  6. float x, y;
  7. };
  8.  
  9. // Funkcja przypisująca współrzędne do punktu
  10. void wczytaj_punkt(punkt &p, float x, float y)
  11. {
  12. p.x = x;
  13. p.y = y;
  14. }
  15.  
  16. // Funkcja sprawdzająca, czy dwa punkty leżą po tej samej stronie prostej
  17. // Prosta dana równaniem ogólnym: Ax + By + C = 0
  18. bool po_tej_samej_stronie(float A, float B, float C, punkt P1, punkt P2)
  19. {
  20. float wartosc1 = A * P1.x + B * P1.y + C;
  21. float wartosc2 = A * P2.x + B * P2.y + C;
  22.  
  23. // Punkty są po tej samej stronie, jeśli iloczyn ma znak dodatni
  24. if (wartosc1 * wartosc2 > 0)
  25. return true;
  26. else
  27. return false;
  28. }
  29.  
  30. int main()
  31. {
  32. // Współczynniki prostej Ax + By + C = 0
  33. float A = 1.0;
  34. float B = -1.0;
  35. float C = -2.0;
  36.  
  37. punkt P1, P2;
  38.  
  39. // Przykładowe współrzędne punktów
  40. wczytaj_punkt(P1, 3.0, 4.0);
  41. wczytaj_punkt(P2, 5.0, 7.0);
  42.  
  43. if (po_tej_samej_stronie(A, B, C, P1, P2))
  44. cout << "Punkty leza po tej samej stronie prostej" << endl;
  45. else
  46. cout << "Punkty nie leza po tej samej stronie prostej" << endl;
  47.  
  48. return 0;
  49. }
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
Punkty leza po tej samej stronie prostej