Advertisement
Guest User

Untitled

a guest
Jun 21st, 2018
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.11 KB | None | 0 0
  1. #include<iostream>
  2. #include<conio.h>
  3. #include<cmath>
  4.  
  5. using namespace std;
  6.  
  7.  
  8. struct punkt{
  9. int x;
  10. int y;
  11. };
  12.  
  13. class Trojkat{
  14. private:
  15. punkt p1, p2, p3;
  16. float a, b, c, P, p;
  17.  
  18. public:
  19. Trojkat(punkt w1, punkt w2, punkt w3){ //Trojkat(int x1, int y1, int x2, int y2, int x3, int y3){
  20. this->p1.x=w1.x;
  21. this->p1.y=w1.y;
  22. this->p2.x=w2.x;
  23. this->p2.y=w2.y;
  24. this->p3.x=w3.x;
  25. this->p3.y=w3.y;
  26. };
  27. bool sprawdz(){
  28. a=sqrt(pow(p2.x-p1.x,2)+pow(p2.y-p1.y,2)); // p1 z p2 =a
  29. b=sqrt(pow(p3.x-p1.x,2)+pow(p3.y-p1.y,2));// p1 z p3 =b
  30. c=sqrt(pow(p3.x-p2.x,2)+pow(p3.y-p2.y,2));// p2 z p3 =c
  31. if (a==0 || b==0 ||c==0){
  32. cout<<"zle! "; return 0;
  33. }
  34. else
  35. {
  36. /* if (a+b>c)
  37. cout<<endl<<a<<" - "<< b<<" - "<< c<<endl;
  38. else if (a+c>b)
  39. cout<<endl<<a<<" - "<< b<<" - "<< c<<endl;
  40. else if (b+c>a)
  41. cout<<endl<<a<<" - "<< b<<" - "<< c<<endl;
  42. else{
  43. cout<<"nie da sie zrobic trojkata";
  44. return 0;}*/
  45. cout<<endl<<"a= "<<a<<", b= "<< b<<",c= "<< c<<endl;
  46. p=(a+b+c)/2; //połowa obwodu
  47. cout<<"Obwod= "<<p*2<<endl;
  48. P=sqrt(p*(p-a)*(p-b)*(p-c)); //Pole trójkšta
  49. cout<<"Pole= "<<P<<endl;
  50. return 1;}
  51.  
  52. };
  53. float promien_r(){ //promien okręgu wpisanego w trójkšt .
  54. return P/p;
  55. };
  56. float promien_R(){ //promien okręgu opisanego na trójkšcie
  57. return (a*b*c)/(4*P);
  58. };
  59.  
  60. };
  61.  
  62. int main(){
  63. punkt p1, p2, p3;
  64. p1.x=-5; p1.y=9;
  65. p2.x=2; p2.y=2;
  66. p3.x=5; p3.y=4;
  67. /* cout<<"Podaj wartosc x oraz y dla 3 punktow: \n1: "; cin>>p1.x>>p1.y;
  68. cout<<"\n2: "; cin>>p2.x>>p2.y;
  69. cout<<"\n3: "; cin>>p3.x>>p3.y;*/
  70. Trojkat zm(p1,p2,p3);
  71. // zm.sprawdz();
  72. if (zm.sprawdz()==true){
  73. cout<<"Promien okregu wpisanego w ten trojkat wynosi: "<<zm.promien_r()<<endl;
  74. cout<<"Promien okregu opisanego na tym trojkacie wynosi: "<<zm.promien_R();
  75. }
  76. }
  77. /*
  78. P=sqrt(p(p-a)(p-b)(p-c))
  79. gdzie:
  80. a, b, c - długoœci boków trójkšta
  81. p - połowa obwodu trójkšta, czyli p=a+b+c/2
  82.  
  83. pole trojkata= (a*b*c)/4R
  84. P= r*p;
  85. majšc pole obliczonego ze wzoru wyzej mozna obliczyc: R= (a*b*c)/ 4P
  86. r= P/p
  87. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement