fork(1) download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. struct punkt
  5. {
  6. float x, y;
  7. };
  8.  
  9. // Funkcja wczytująca punkt
  10. punkt wczytaj_punkt(float x, float y)
  11. {
  12. punkt p;
  13. p.x = x;
  14. p.y = y;
  15. return p;
  16. }
  17.  
  18. // Funkcja sprawdzająca czy dwa punkty leżą po tej samej stronie prostej
  19. bool po_tej_samej_stronie(punkt p1, punkt p2, float A, float B, float C)
  20. {
  21. float wartosc1 = A * p1.x + B * p1.y + C;
  22. float wartosc2 = A * p2.x + B * p2.y + C;
  23.  
  24. return (wartosc1 * wartosc2 >= 0);
  25. }
  26.  
  27. int main()
  28. {
  29. // Współczynniki prostej
  30. float A = 1;
  31. float B = -1;
  32. float C = 0;
  33.  
  34. // Wczytanie punktów
  35. punkt P1 = wczytaj_punkt(1, 0);
  36. punkt P2 = wczytaj_punkt(1, 2);
  37. punkt P3 = wczytaj_punkt(-1, 0);
  38. punkt P4 = wczytaj_punkt(2, 2.2);
  39.  
  40. // Sprawdzenie
  41. bool para1 = po_tej_samej_stronie(P1, P2, A, B, C);
  42. bool para2 = po_tej_samej_stronie(P3, P4, A, B, C);
  43.  
  44. if (para1 && para2)
  45. cout << "punkty leza po tej samej stronie prostej" << endl;
  46. else
  47. cout << "punkty nie leza po tej samej stronie prostej" << endl;
  48.  
  49. return 0;
  50. }
Success #stdin #stdout 0.01s 5320KB
stdin
Standard input is empty
stdout
punkty nie leza po tej samej stronie prostej