Advertisement
mithirii

trujkat -objektowe

Oct 23rd, 2019
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.42 KB | None | 0 0
  1. #include <iostream>
  2. #include <math.h>
  3. #include <stdlib.h>
  4.  
  5. using namespace std;
  6.  
  7. class punkt{
  8. private:
  9. float x,y;
  10. public:
  11. punkt(float a, float b){
  12. x=a;
  13. y=b;
  14. }
  15. punkt(){x=0; y=0;}
  16. void wektor(){
  17. cout<<"["<<x<<","<<y<<"]"<<endl;
  18. }
  19. float odleglosc(){
  20. return sqrt(x*x+y*y);
  21. }
  22. bool osX(){
  23. if(y==0) return true;
  24. else return false;
  25. }
  26. bool osY(){
  27. if(x==0) return true;
  28. else return false;
  29. }
  30. int cwiartka(){
  31. if(x==0||y==0) return 0;
  32. else if (x>0){
  33. if(y>0) return 1;
  34. else return 4;
  35. }
  36. else{
  37. if(y>0) return 2;
  38. else return 3;
  39. }
  40. }
  41. float punktX(){
  42. return x;
  43. }
  44. float punktY(){
  45. return y;
  46. }
  47. float odl(punkt temp){
  48. return sqrt(pow(temp.x-x,2)+pow(temp.y-y,2));
  49. }
  50. };
  51.  
  52. class trojkat{
  53. private:
  54. punkt p1;
  55. punkt p2;
  56. punkt p3;
  57. float obwod(){
  58. return p1.odl(p2)+p1.odl(p3)+p2.odl(p3);
  59. }
  60. public:
  61. trojkat(punkt p1, punkt p2, punkt p3){
  62. this->p1=p1;
  63. this->p2=p2;
  64. this->p3=p3;
  65. }
  66. float pole(){
  67. float polowa_obowdu=obwod()/2;
  68. return sqrt(polowa_obowdu*(polowa_obowdu-p1.odl(p2))*(polowa_obowdu-p1.odl(p3))*(polowa_obowdu-p2.odl(p3)));
  69. }
  70. bool sprawdz(){
  71. if(p1.odl(p2)+p1.odl(p3)<p2.odl(p3)||p1.odl(p2)+p2.odl(p3)<p1.odl(p3)||p1.odl(p3)+p2.odl(p3)<p1.odl(p2))
  72. return false;
  73. else return true;
  74. }
  75.  
  76. };
  77.  
  78. void przetestuj(punkt ten){
  79. cout<<"Wektor:";
  80. ten.wektor();
  81. cout<<"Odleglosc od [0,0]:"<<ten.odleglosc()<<endl;
  82. cout<<"Czy punkty lezy na OX:";
  83. if(ten.osX()) cout<<"TAK"<<endl;
  84. else cout<<"NIE"<<endl;
  85. cout<<"Czy punkt lezy na OY:";
  86. if(ten.osY()) cout<<"TAK"<<endl;
  87. else cout<<"NIE"<<endl;
  88. cout<<"Cwiartka punktu:"<<ten.cwiartka()<<endl<<endl;
  89. }
  90.  
  91. float odlegloscMiedzyPunktami(punkt p1, punkt p2){
  92. return sqrt(pow(p2.punktX()-p1.punktX(),2)+pow(p2.punktY()-p1.punktY(),2));
  93. }
  94.  
  95.  
  96. int main()
  97. {
  98. punkt p1(2,4);
  99. punkt *p2 = new punkt(3,4);
  100. punkt &p3=p1;
  101. punkt p4;
  102. przetestuj(p1);
  103. przetestuj(*p2);
  104. przetestuj(p3);
  105. przetestuj(p4);
  106. trojkat t1(p1,*p2,p3);
  107. cout<<"Odleglosc miedzy punktami p4,p2 to:"<<odlegloscMiedzyPunktami(p4,*p2)<<endl;
  108. return 0;
  109.  
  110. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement