Advertisement
Guest User

Sprawdza czy odcinek lezy na prostej

a guest
Dec 6th, 2016
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.74 KB | None | 0 0
  1. #include <iostream>
  2. #include <cmath>
  3. using namespace std;
  4. int main()
  5. {
  6. //deklaracja wspolczynnikow prostej
  7. float a,b,c,x,y;
  8. //deklaracja wspolczynnikow odcinka
  9. float x1,x2,y1,y2;
  10. //deklaracja odkleglosci punktow od prostej
  11. float d1,d2;
  12. //pkt A ,B
  13.  
  14. cout<<"\t\tProsta"<<endl;
  15. cout<<"Podaj a. "<<endl;
  16. cin>>a;
  17. cout<<"Podaj b. "<<endl;
  18. cin>>b;
  19. cout<<"Podaj c. "<<endl;
  20. cin>>c;
  21. cout<<"Podaj x. "<<endl;
  22. cin>>x;
  23. cout<<"Podaj y. "<<endl;
  24. cin>>y;
  25.  
  26. cout<<"\n\n\t\tPunkt A. "<<endl;
  27. cout<<"\nPodaj 1 wspolrzedna punktu A. "<<endl;
  28. cin>>x1;
  29. cout<<"Podaj 2 wspolrzedna punktu A. "<<endl;
  30. cin>>y1;
  31.  
  32. cout<<"\n\n\t\tPunkt B. "<<endl;
  33. cout<<"\nPodaj 1 wspolrzedna punktu B. "<<endl;
  34. cin>>x2;
  35. cout<<"Podaj 2 wspolrzedna punktu B. "<<endl;
  36. cin>>y2;
  37.  
  38. d1=abs((a*x1)+(b*y1)+c)/sqrt((pow(a,2))+(pow(b,2))); //Sprawdzanie odleglosci pktu A od prostej
  39.  
  40. d2=abs((a*x2)+(b*y2)+c)/sqrt((pow(a,2))+(pow(b,2))); //Sprawdzanie odleglosci pktu B od prostej
  41. // Teraz jezeli odleglosc pkt A i B od prostej wynosi 0 to wiadomo ze leza na niej i tworza pokrywajacy sie z nia odcinek
  42. cout<<"\n\nOdleglosc punktu A od prostej wynosi: "<<d1<<endl;
  43. cout<<"Odleglosc punktu B od prostej wynosi: "<<d2<<endl;
  44.  
  45.  
  46.  
  47. if((d1==0) && (d2==0)){
  48. cout<<"\n\nObydwa punkty odcinka leza na prostej. "<<endl;
  49. }
  50. else if ((d1!=0) && (d2==0)){
  51. cout<<"\n\nPunkt A nie lezy na prostej tak wiec odcinek nie pokrywa sie z prosta. "<<endl;
  52. }
  53. else if ((d1==0) && (d2!=0)){
  54. cout<<"\n\nPunkt B nie lezy na prostej tak wiec odcinek nie pokrywa sie z prosta. "<<endl;
  55. }
  56. else{
  57. cout<<"\n\nZaden z punktow odcinka nie lezy na prostej tak wiec odcinek sie z nia nie pokrywa. "<<endl;
  58. }
  59.  
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement