fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. struct Punkt {
  5. double x, y;
  6. };
  7.  
  8. // funkcja licząca wyznacznik
  9. double det(Punkt A, Punkt B, Punkt P) {
  10. return (B.x - A.x) * (P.y - A.y) - (B.y - A.y) * (P.x - A.x);
  11. }
  12.  
  13. // funkcja "czytająca" punkt (tutaj przypisujemy dane z zadania)
  14. Punkt czytaj_punkt(double x, double y) {
  15. Punkt p;
  16. p.x = x;
  17. p.y = y;
  18. return p;
  19. }
  20.  
  21. // funkcja sprawdzająca po której stronie leży punkt
  22. void punkt_po_stronie(Punkt A, Punkt B, Punkt P) {
  23. double wynik = det(A, B, P);
  24.  
  25. if (wynik > 0)
  26. cout << "Punkt P lezy po lewej stronie";
  27. else
  28. cout << "Punkt P lezy po prawej stronie";
  29. }
  30.  
  31. int main() {
  32.  
  33. Punkt A = czytaj_punkt(1, 1);
  34. Punkt B = czytaj_punkt(3, 3);
  35. Punkt P = czytaj_punkt(0, 3);
  36.  
  37. punkt_po_stronie(A, B, P);
  38.  
  39. return 0;
  40. }
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
Punkt P lezy po lewej stronie