fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. struct Punkt {
  5. double x;
  6. double y;
  7. };
  8.  
  9. void czytaj_punkt(Punkt &p) {
  10. cout << "Podaj wspolrzedna x: ";
  11. cin >> p.x;
  12. cout << "Podaj wspolrzedna y: ";
  13. cin >> p.y;
  14. }
  15.  
  16. int punkty_po_stronie(Punkt A, Punkt B, Punkt P) {
  17. double wynik = (B.x - A.x) * (P.y - A.y) - (B.y - A.y) * (P.x - A.x);
  18.  
  19. if (wynik > 0)
  20. return 1; // lewa strona
  21. else if (wynik < 0)
  22. return -1; // prawa strona
  23. else
  24. return 0; // na prostej
  25. }
  26.  
  27. int main() {
  28. Punkt A, B, P;
  29.  
  30. cout << "Podaj punkt A:\n";
  31. czytaj_punkt(A);
  32.  
  33. cout << "Podaj punkt B:\n";
  34. czytaj_punkt(B);
  35.  
  36. cout << "Podaj punkt P:\n";
  37. czytaj_punkt(P);
  38.  
  39. int wynik = punkty_po_stronie(A, B, P);
  40.  
  41. if (wynik > 0)
  42. cout << "Punkt P lezy po lewej stronie\n";
  43. else if (wynik < 0)
  44. cout << "Punkt P lezy po prawej stronie\n";
  45. else
  46. cout << "Punkt P lezy na prostej\n";
  47.  
  48. return 0;
  49. }
Success #stdin #stdout 0s 5328KB
stdin
Standard input is empty
stdout
Podaj punkt A:
Podaj wspolrzedna x: Podaj wspolrzedna y: Podaj punkt B:
Podaj wspolrzedna x: Podaj wspolrzedna y: Podaj punkt P:
Podaj wspolrzedna x: Podaj wspolrzedna y: Punkt P lezy na prostej