Advertisement
Guest User

Untitled

a guest
May 27th, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.26 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. struct Pyramid // structura na obiknovena piramida
  7. {
  8. float B;//лице на околната повърхнина
  9. float V;// obem na piramidata
  10. float h;// viso4ina na piramidatas
  11. float b;//основен ръб(страната на основата на пирамидата)
  12. float a;//основен ръб(страната на основата на пирамидата)
  13. };
  14.  
  15. float PyramidFrontViewBase(float a, float b)
  16. {
  17. return a * b;// presmqta liceto na osnovata B na piramida
  18. }
  19.  
  20. float PyramidVolume(float B, float h)
  21. {
  22. return (B*h) / 3;//presmqta obemyt na piramidata
  23. }
  24.  
  25. short int MinimalVolume(Pyramid masiv[])
  26. {
  27. float minimalVolume = masiv[0].V;// zapazva obemyt na pyrvata piramida
  28. short int index = 0;
  29.  
  30. for (int i = 0; i < 3; i++)
  31. {
  32. if (minimalVolume > masiv[i].V)// proverqva koq piramida e s nai-malyk obem
  33. {
  34. minimalVolume = masiv[i].V;
  35. index = i;
  36. }
  37. }
  38. return index; // vryshta nomeryt na piramidata s nai - malyk obem
  39. }
  40.  
  41. struct Prism
  42. {
  43. float h;// viso4ina na prizmata
  44. float b;//основен ръб(страната на основата на prizmata)
  45. float a;//основен ръб(страната на основата на prizmata)
  46. };
  47.  
  48. int main()
  49. {
  50. Pyramid pyramids[3];// masiv ot obekti ot tip piramida
  51. float VolumePyramidArray[3]; // masiv ot obemite na piramidi
  52. Prism prisms[3]; // masiv ot obekti ot tip prizma
  53.  
  54. for (int i = 0; i < 3; i++)
  55. {
  56. std::cout << "Pyramid number [# " << i + 1 << "]"<< endl;
  57. std::cout << "Vyvedi strana na osnovata [a]: ";
  58. std::cin >> pyramids[i].a;
  59. std::cout << "Vyvedi strana na osnovata [b]: ";
  60. std::cin >> pyramids[i].b;
  61. std::cout << "Vyvedi Visochina na piramidata [h]: ";
  62. std::cin >> pyramids[i].h;
  63.  
  64. std::cout << endl;
  65.  
  66. pyramids[i].B = PyramidFrontViewBase(pyramids[i].a, pyramids[i].b);// iz4islqva liceto na osnova na tekushtata piramida
  67. pyramids[i].V = PyramidVolume(pyramids[i].B, pyramids[i].h);// iz4islqva obema na tekushtata piramida
  68. VolumePyramidArray[i] = pyramids[i].V;// zapazva se obemyt na piramidata v masiv ot obemite na piramidi
  69.  
  70. prisms[i].a = pyramids[i].a;// definirane na strana a na prizmata
  71. prisms[i].b = pyramids[i].b;// definirane na strana b na prizmata
  72. prisms[i].h = pyramids[i].h;// definirane na visochina h na prizmata
  73. }
  74.  
  75. short int index = MinimalVolume(pyramids);//proverq koq piramida ima nai malyk obem parametyr e masivyt ot piramidi
  76.  
  77. std::cout << endl;
  78. std::cout << "Pyramid with lowest Volume is [#" << index + 1 << "]" << endl;// index+1 za da se polu4i nagledno nomerirane
  79.  
  80. std::cout << endl;
  81.  
  82. for (int i = 0; i < 3; i++)
  83. {
  84. std::cout << "Pyramid number [# " << i + 1 << "]" << endl;
  85. std::cout << "Obem na piramidata " << VolumePyramidArray[i] << endl << endl; // izvejda obemite na piramidite podred
  86. }
  87.  
  88. std::cout << endl;
  89.  
  90. for (int i = 0; i < 3; i++)
  91. {
  92. std::cout << "Prism number [# " << i + 1 << "]" << endl;
  93. std::cout << "strana [a] na prizmata: " << prisms[i].a << endl;
  94. std::cout << "strana [b] na prizmata: " << prisms[i].b << endl;
  95. std::cout << "strana [h] na prizmata: " << prisms[i].h << endl << endl;
  96. }
  97.  
  98. system("pause");
  99. return 0;
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement