fork(1) 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. cout << "Podaj wspolrzedna x: ";
  13. cin >> p.x;
  14. cout << "Podaj wspolrzedna y: ";
  15. cin >> p.y;
  16. }
  17.  
  18. // Funkcja sprawdzająca czy dwa punkty leżą po tej samej stronie prostej
  19. bool po_tej_samej_stronie(float A, float B, float C, punkt p1, punkt p2)
  20. {
  21. float wartosc1 = A * p1.x + B * p1.y + C;
  22. float wartosc2 = A * p2.x + B * p2.y + C;
  23.  
  24. // Punkty są po tej samej stronie, jeśli wartości mają ten sam znak
  25. return (wartosc1 * wartosc2 > 0);
  26. }
  27.  
  28. int main()
  29. {
  30. float A, B, C;
  31. punkt P1, P2;
  32.  
  33. cout << "Podaj wspolczynniki prostej (A B C): ";
  34. cin >> A >> B >> C;
  35.  
  36. if (A == 0 && B == 0)
  37. {
  38. cout << "Bledne dane: A i B nie moga byc jednoczesnie rowne 0." << endl;
  39. return 0;
  40. }
  41.  
  42. cout << "\nWczytywanie punktu P1:" << endl;
  43. wczytaj_punkt(P1);
  44.  
  45. cout << "\nWczytywanie punktu P2:" << endl;
  46. wczytaj_punkt(P2);
  47.  
  48. if (po_tej_samej_stronie(A, B, C, P1, P2))
  49. cout << "\npunkty leza po tej samej stronie prostej" << endl;
  50. else
  51. cout << "\npunkty nie leza po tej samej stronie prostej" << endl;
  52.  
  53. return 0;
  54. }
Success #stdin #stdout 0.01s 5320KB
stdin
Standard input is empty
stdout
Podaj wspolczynniki prostej (A B C): 
Wczytywanie punktu P1:
Podaj wspolrzedna x: Podaj wspolrzedna y: 
Wczytywanie punktu P2:
Podaj wspolrzedna x: Podaj wspolrzedna y: 
punkty nie leza po tej samej stronie prostej