Advertisement
Guest User

Untitled

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