fork download
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. struct punkt
  6. {
  7. float x, y;
  8. };
  9.  
  10. // wczytywanie punktu z klawiatury
  11. void wczytaj_punkt(punkt &p)
  12. {
  13. cout << "Podaj x i y punktu: ";
  14. cin >> p.x >> p.y;
  15. }
  16.  
  17. // sprawdzanie czy punkty sa po tej samej stronie prostej
  18. bool po_tej_samej_stronie(float A, float B, float C, punkt p1, punkt p2)
  19. {
  20. float W1 = A * p1.x + B * p1.y + C;
  21. float W2 = A * p2.x + B * p2.y + C;
  22.  
  23. if (W1 == 0 || W2 == 0)
  24. return false;
  25.  
  26. return (W1 * W2 > 0);
  27. }
  28.  
  29. int main()
  30. {
  31. float A, B, C;
  32. punkt P1, P2;
  33.  
  34. cout << "Podaj A B C (rownanie Ax + By + C = 0): ";
  35. cin >> A >> B >> C;
  36.  
  37. wczytaj_punkt(P1);
  38. wczytaj_punkt(P2);
  39.  
  40. if (po_tej_samej_stronie(A, B, C, P1, P2))
  41. cout << "Punkty sa po tej samej stronie prostej." << endl;
  42. else
  43. cout << "Punkty NIE sa po tej samej stronie prostej." << endl;
  44.  
  45. return 0;
  46. }
Success #stdin #stdout 0.01s 5288KB
stdin
Standard input is empty
stdout
Podaj A B C (rownanie Ax + By + C = 0): Podaj x i y punktu: Podaj x i y punktu: Punkty NIE sa po tej samej stronie prostej.