fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. struct punkt
  5. {
  6. float x, y;
  7. };
  8.  
  9. // Funkcja wczytująca współrzędne punktu
  10. void wczytaj_punkt(punkt &p)
  11. {
  12. cin >> p.x >> p.y;
  13. }
  14.  
  15. // Funkcja sprawdzająca czy punkty leżą po tej samej stronie prostej
  16. bool po_tej_samej_stronie(float A, float B, float C, punkt P1, punkt P2)
  17. {
  18. float wartosc1 = A * P1.x + B * P1.y + C;
  19. float wartosc2 = A * P2.x + B * P2.y + C;
  20.  
  21. return (wartosc1 * wartosc2 >= 0);
  22. }
  23.  
  24. int main()
  25. {
  26. float A, B, C;
  27. punkt P1, P2;
  28.  
  29. cout << "Podaj wspolczynniki prostej (A B C): ";
  30. cin >> A >> B >> C;
  31.  
  32. if (A == 0 && B == 0)
  33. {
  34. cout << "Blad: A i B nie moga byc jednoczesnie rowne 0." << endl;
  35. return 1;
  36. }
  37.  
  38. cout << "Podaj wspolrzedne punktu P1 (xP1 yP1): ";
  39. wczytaj_punkt(P1);
  40.  
  41. cout << "Podaj wspolrzedne punktu P2 (xP2 yP2): ";
  42. wczytaj_punkt(P2);
  43.  
  44. if (po_tej_samej_stronie(A, B, C, P1, P2))
  45. cout << "punkty leza po tej samej stronie lub prostej" << endl;
  46. else
  47. cout << "Punkty nie leza po tej samej stronie lub prostej" << endl;
  48.  
  49. return 0;
  50. }
Success #stdin #stdout 0s 5316KB
stdin
1 1 -3 4 4 5 3
stdout
Podaj wspolczynniki prostej (A B C): Podaj wspolrzedne punktu P1 (xP1 yP1): Podaj wspolrzedne punktu P2 (xP2 yP2): punkty leza po tej samej stronie lub prostej