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. // Jeśli iloczyn dodatni – ten sam znak → ta sama strona
  25. if (wartosc1 * wartosc2 > 0)
  26. return true;
  27. else
  28. return false;
  29. }
  30.  
  31. int main()
  32. {
  33. float A, B, C;
  34. punkt P1, P2;
  35.  
  36. cout << "Podaj wspolczynniki prostej (A B C): ";
  37. cin >> A >> B >> C;
  38.  
  39. // Sprawdzenie warunku A ≠ 0 lub B ≠ 0
  40. if (A == 0 && B == 0)
  41. {
  42. cout << "Bledne dane: A i B nie moga byc jednoczesnie rowne 0." << endl;
  43. return 0;
  44. }
  45.  
  46. cout << "\nWczytywanie punktu P1:" << endl;
  47. wczytaj_punkt(P1);
  48.  
  49. cout << "\nWczytywanie punktu P2:" << endl;
  50. wczytaj_punkt(P2);
  51.  
  52. if (po_tej_samej_stronie(A, B, C, P1, P2))
  53. cout << "\npunkty leza po tej samej stronie prostej" << endl;
  54. else
  55. cout << "\npunkty nie leza po tej samej stronie prostej" << endl;
  56.  
  57. return 0;
  58. }
Success #stdin #stdout 0s 5324KB
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