fork(1) download
  1. // jszczechura-048.cpp
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. struct punkt
  7. {
  8. float x, y;
  9. };
  10.  
  11. // Funkcja "wczytująca" punkt (tu przypisujemy dane na stałe)
  12. void wczytaj_punkt(punkt &p, float x, float y)
  13. {
  14. p.x = x;
  15. p.y = y;
  16. }
  17.  
  18. // Funkcja sprawdzająca, czy punkty leżą po tej samej stronie prostej
  19. bool po_tej_samej_stronie(float A, float B, float C, punkt P1, punkt P2)
  20. {
  21. float wartosc1 = A * P1.x + B * P1.y + C;
  22. float wartosc2 = A * P2.x + B * P2.y + C;
  23.  
  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;
  34. float B = 1;
  35. float C = 0;
  36.  
  37. punkt P1, P2;
  38.  
  39. // Wpisane na stałe współrzędne punktów
  40. wczytaj_punkt(P1, 1, 1);
  41. wczytaj_punkt(P2, -1, -1);
  42.  
  43. if (po_tej_samej_stronie(A, B, C, P1, P2))
  44. cout << "Punkty leza po tej samej stronie lub na prostej." << endl;
  45. else
  46. cout << "Punkty nie leza po tej samej stronie ani na prostej." << endl;
  47.  
  48. return 0;
  49. }
Success #stdin #stdout 0.01s 5316KB
stdin
Standard input is empty
stdout
Punkty nie leza po tej samej stronie ani na prostej.