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 położenie punktów względem prostej
  19. bool po_tej_samej_stronie(float A, float B, float C, punkt p1, punkt p2)
  20. {
  21. float wart1 = A * p1.x + B * p1.y + C;
  22. float wart2 = A * p2.x + B * p2.y + C;
  23.  
  24. if (wart1 * wart2 > 0)
  25. return true;
  26. else
  27. return false;
  28. }
  29.  
  30. int main()
  31. {
  32. float A, B, C;
  33. punkt P1, P2;
  34.  
  35. cout << "Podaj wspolczynniki prostej (A B C): ";
  36. cin >> A >> B >> C;
  37.  
  38. cout << "Wczytywanie punktu P1:" << endl;
  39. wczytaj_punkt(P1);
  40.  
  41. cout << "Wczytywanie punktu P2:" << endl;
  42. wczytaj_punkt(P2);
  43.  
  44. float wart1 = A * P1.x + B * P1.y + C;
  45. float wart2 = A * P2.x + B * P2.y + C;
  46.  
  47. if (po_tej_samej_stronie(A, B, C, P1, P2))
  48. cout << "Punkty leza po tej samej stronie prostej." << endl;
  49. else if (wart1 == 0 || wart2 == 0)
  50. cout << "Przynajmniej jeden punkt lezy na prostej." << endl;
  51. else
  52. cout << "Punkty nie leza po tej samej stronie prostej." << endl;
  53.  
  54. return 0;
  55. }
Success #stdin #stdout 0s 5304KB
stdin
Podaj wspolczynniki prostej (A B C): 1 1 -3
Wczytywanie punktu P1:
Podaj wspolrzedna x: 1
Podaj wspolrzedna y: 2
Wczytywanie punktu P2:
Podaj wspolrzedna x: 5
Podaj wspolrzedna y: 5
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.