Advertisement
draghan

Untitled

Nov 25th, 2015
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.87 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. class Trojkat
  4. {
  5.     double a, b, c;
  6.     double sort_a, sort_b, sort_c; /*   żeby nie zmieniać przy wypisywaniu kolejności zmiennych
  7.                                         po posortowaniu potrzebujemy kopię - jeśli Cię to nie insteresuje,
  8.                                         możesz usunąć te zmienne i pracować na oryginalnych zmiennych a, b, c.
  9.                                     */
  10.     void sortuj_boki(); /*  do łatwego sprawdzenia, czy prostokątny  */
  11.     void zamien(double &x, double &y); /*   do posortowania */
  12. public:
  13.     Trojkat();
  14.     void wprowadz();
  15.     void wypisz();
  16.     bool czy_prostokatny();
  17. };
  18.  
  19.  
  20. int main()
  21. {
  22.     Trojkat trojkat;
  23.  
  24.     unsigned n;
  25.     std::cout<<"Podaj liczbe trojkatow:\t";
  26.     std::cin>>n;
  27.     for(unsigned i = 1; i <= n; ++i)
  28.     {
  29.         std::cout<<i<<". trojkat.\n";
  30.         trojkat.wprowadz();
  31.         trojkat.wypisz();
  32.     }
  33.     return 0;
  34. }
  35.  
  36. Trojkat::Trojkat()
  37. {
  38.     a = 0;
  39.     b = 0;
  40.     c = 0;
  41. }
  42.  
  43. void Trojkat::zamien(double &x, double &y)
  44. {
  45.     double z = x;
  46.     x = y;
  47.     y = z;
  48. }
  49.  
  50. void Trojkat::sortuj_boki()
  51. {
  52.     sort_a = a;
  53.     sort_b = b;
  54.     sort_c = c;
  55.     if(sort_a > sort_b) zamien(sort_a, sort_b);
  56.     if(sort_b > sort_c) zamien(sort_b, sort_c);
  57.     if(sort_a > sort_b) zamien(sort_a, sort_b);
  58. }
  59.  
  60. void Trojkat::wprowadz()
  61. {
  62.     std::cout<<"Podaj pierwszy bok:\t";
  63.     std::cin>>a;
  64.     std::cout<<"Podaj drugi bok:\t";
  65.     std::cin>>b;
  66.     std::cout<<"Podaj trzeci bok:\t";
  67.     std::cin>>c;
  68. }
  69.  
  70. void Trojkat::wypisz()
  71. {
  72.     std::cout<<"Trojkat o bokach "<<a<<", "<<b<<", "<<c;
  73.     if(czy_prostokatny()) std::cout<<" jest prostokatny.\n";
  74.     else std::cout<<" nie jest prostokatny.\n";
  75. }
  76.  
  77. bool Trojkat::czy_prostokatny()
  78. {
  79.     sortuj_boki();
  80.     if(sort_a*sort_a + sort_b*sort_b ==  sort_c*sort_c) return true;
  81.     else return false;
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement