Advertisement
Guest User

Untitled

a guest
May 27th, 2019
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.19 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. struct Pyramid
  7. {
  8. float B;// lice na osnovata na piramida
  9. float h;// viso4ina na piramidata
  10. float V;// obem na piramidata
  11. };
  12.  
  13. float PyramidVolume(float B, float h)
  14. {
  15. return (B*h)/3;
  16. }
  17.  
  18. short int MinimalVolume(Pyramid masiv[])
  19. {
  20. float minimalVolume = masiv[0].V;
  21. short int index = 0;
  22.  
  23. for (int i = 0; i < 3; i++)
  24. {
  25. if (minimalVolume < masiv[i].V)
  26. {
  27. minimalVolume = masiv[i].V;
  28. index = i;
  29. }
  30. }
  31. return index;
  32. }
  33.  
  34. int main()
  35. {
  36. Pyramid pyramids[3];
  37.  
  38. for (int i = 0; i < 3; i++)
  39. {
  40. cout << "Vyvedi lice na osnovata [B]: ";
  41. cin >> pyramids[i].B;
  42. cout << "Vyvedi Visochina na piramidata [h]: ";
  43. cin >> pyramids[i].h;
  44. cout << endl;
  45. pyramids[i].V = PyramidVolume(pyramids[i].B, pyramids[i].h);// iz4islqva obema na vsqka piramida
  46. }
  47.  
  48. short int index = MinimalVolume(pyramids);
  49.  
  50. cout << endl;
  51. cout << "Pyramid with lowest Volume is [# " << index + 1 << "]" << endl;
  52.  
  53. return 0;
  54. }
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61. #include <iostream>
  62. #include <string>
  63.  
  64. using namespace std;
  65.  
  66. // Broi na trapecite, koito shte se vuvejdat
  67. const int N = 3;
  68.  
  69. // Strukturata za Trapec
  70. struct Trapec
  71. {
  72. double a, b;
  73. double h;
  74. };
  75.  
  76. // Namira ploshta na Trapec po podadeni strani 'a' i 'b' i visochina 'h'
  77. double findArea(double a, double b, double h)
  78. {
  79. double S = ((a + b) / 2) * h;
  80. return S;
  81. }
  82.  
  83. // Namira elementa s nai-golqma plosht i vrushta negoviqt index
  84. int findGreatestArea(double areas[])
  85. {
  86. int greatestAreaIndex = 0;
  87.  
  88. for (int i = 0; i < N; i++)
  89. {
  90. if (areas[greatestAreaIndex] < areas[i])
  91. {
  92. greatestAreaIndex = i;
  93. }
  94. }
  95.  
  96. return greatestAreaIndex;
  97. }
  98.  
  99. // Otpechatva krainiqt rezultat
  100. void printResult(Trapec trapeci[], double areas[], int greatestAreaIndex)
  101. {
  102. cout << "### Rezultati ###\n";
  103. cout << "-> Trapeca s nai-golqma plosht e s index[" << greatestAreaIndex
  104. << "] i tq e `S = " << areas[greatestAreaIndex] << "`\n\n";
  105.  
  106. for (int i = 0; i < N; i++)
  107. {
  108. cout << "# Trapec[" << i << "]\n";
  109. cout << "Strana `a` = " << trapeci[i].a << "\n";
  110. cout << "Strana `b` = " << trapeci[i].b << "\n";
  111. cout << "Visochina `h` = " << trapeci[i].h << "\n";
  112. cout << "Lice `S` = " << areas[i] << "\n\n";
  113. }
  114. }
  115.  
  116. // Otpechatva suobshteniqta za greshka i zatvarq konzolata
  117. void printError(string errorMessage)
  118. {
  119. cout << "ERROR: " << errorMessage << "\n";
  120. system("PAUSE");
  121. exit(EXIT_FAILURE);
  122. }
  123.  
  124. int main()
  125. {
  126. Trapec trapeci[N]; // Masiv ot trapeci
  127. double areas[N]; // Masiv za ploshtite na trapecite
  128.  
  129. for (int i = 0; i < N; i++)
  130. {
  131. cout << "Trapec[" << i << "]:\n";
  132.  
  133. double a;
  134. cout << "Strana `a` = ";
  135. cin >> a;
  136. if (!cin) printError("Molq vuvedete chislo za stranata `a`!");
  137. if (a <= 0) printError("Vuvedete polojitelno chislo za `a`!");
  138.  
  139. double b;
  140. cout << "Strana `b` = ";
  141. cin >> b;
  142. if (!cin) printError("Molq vuvedete chislo za stranata `b`!");
  143. if (b <= 0) printError("Vuvedete polojitelno chislo za `b`!");
  144.  
  145. double h;
  146. cout << "Visochina `h` = ";
  147. cin >> h;
  148. if (!cin) printError("Molq vuvedete chislo za visochinata `h`!");
  149. if (h <= 0) printError("Vuvedete polojitelno chislo za `h`!");
  150.  
  151. // Prisvoqva vuvedenite stoinosti kum tekushtiq element ot masiva
  152. trapeci[i].a = a;
  153. trapeci[i].b = b;
  154. trapeci[i].h = h;
  155.  
  156. // Vzema ploshta na tekushtiq vuveden trapec i q zapazva v masiva
  157. areas[i] = findArea(a, b, h);
  158.  
  159. cout << "\n";
  160. }
  161. cout << "==================================================\n\n";
  162.  
  163. int greatestAreaIndex = findGreatestArea(areas);
  164. printResult(trapeci, areas, greatestAreaIndex); // Otpechatva krainiqt rezultat
  165.  
  166. system("PAUSE");
  167. return 0;
  168. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement