fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. struct punkt
  5. {
  6. float x, y;
  7. };
  8.  
  9. void wczytaj_punkt(punkt &p)
  10. {
  11. cout << "Podaj wspolrzedna x: ";
  12. cin >> p.x;
  13. cout << "Podaj wspolrzedna y: ";
  14. cin >> p.y;
  15. }
  16.  
  17. bool po_tej_samej_stronie(float A, float B, float C, punkt P1, punkt P2)
  18. {
  19. // Obliczamy wartosci wyrazenia Ax + By + C dla obu punktow
  20. float wartosc1 = A * P1.x + B * P1.y + C;
  21. float wartosc2 = A * P2.x + B * P2.y + C;
  22.  
  23. // Punkty sa po tej samej stronie prostej,
  24. // gdy iloczyn wartosci ma znak dodatni
  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. cout << "\nWczytywanie punktu P1:\n";
  40. wczytaj_punkt(P1);
  41.  
  42. cout << "\nWczytywanie punktu P2:\n";
  43. wczytaj_punkt(P2);
  44.  
  45. if (po_tej_samej_stronie(A, B, C, P1, P2))
  46. cout << "\nPkt leza po tej samej stronie prostej.\n";
  47. else
  48. cout << "\nPkt nie leza po tej samej stronie prostej.\n";
  49.  
  50. return 0;
  51. }
Success #stdin #stdout 0.01s 5288KB
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: 
Pkt nie leza po tej samej stronie prostej.