fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. struct Punkt {
  5. double x, y;
  6. };
  7.  
  8. double det(Punkt A, Punkt B, Punkt P) {
  9. return (B.x - A.x) * (P.y - A.y) - (B.y - A.y) * (P.x - A.x);
  10. }
  11.  
  12. Punkt czytaj_punkt() {
  13. Punkt p;
  14. cin >> p.x >> p.y;
  15. return p;
  16. }
  17.  
  18. void punkty_po_stronie(Punkt A, Punkt B, Punkt P) {
  19. double d = det(A, B, P);
  20.  
  21. if (d > 0)
  22. cout << "Pkt lezy po lewej stronie prostej" << endl;
  23. else if (d < 0)
  24. cout << "Pkt lezy po prawej stronie prostej" << endl;
  25. else
  26. cout << "Pkt lezy na prostej" << endl;
  27. }
  28.  
  29. int main() {
  30. Punkt A, B, P;
  31.  
  32. cout << "Podaj wspolrzedne punktu A (x y): ";
  33. A = czytaj_punkt();
  34.  
  35. cout << "Podaj wspolrzedne punktu B (x y): ";
  36. B = czytaj_punkt();
  37.  
  38. cout << "Podaj wspolrzedne punktu P (x y): ";
  39. P = czytaj_punkt();
  40.  
  41. punkty_po_stronie(A, B, P);
  42.  
  43. return 0;
  44. }
Success #stdin #stdout 0.01s 5288KB
stdin
0 0
6 7
7 6
stdout
Podaj wspolrzedne punktu A (x y): Podaj wspolrzedne punktu B (x y): Podaj wspolrzedne punktu P (x y): Pkt lezy po prawej stronie prostej