Advertisement
Guest User

Untitled

a guest
May 27th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.65 KB | None | 0 0
  1.  
  2. #include "stdafx.h"
  3. #include <iostream>
  4. #include <string>
  5.  
  6. using namespace std;
  7.  
  8. // Broi na trapecite, koito shte se vuvejdat
  9. const int N = 3;
  10.  
  11. // Strukturata za Trapec
  12. struct Trapec
  13. {
  14. double a, b;
  15. double h;
  16. };
  17.  
  18. // Namira ploshta na Trapec po podadeni strani 'a' i 'b' i visochina 'h'
  19. double findArea(double a, double b, double h)
  20. {
  21. double S = ((a + b) / 2) * h;
  22. return S;
  23. }
  24.  
  25. // Namira elementa s nai-golqma plosht i vrushta negoviqt index
  26. int findGreatestArea(double areas[])
  27. {
  28. int greatestAreaIndex = 0;
  29.  
  30. for (int i = 0; i < N; i++)
  31. {
  32. if (areas[greatestAreaIndex] < areas[i])
  33. {
  34. greatestAreaIndex = i;
  35. }
  36. }
  37.  
  38. return greatestAreaIndex;
  39. }
  40.  
  41. // Otpechatva krainiqt rezultat
  42. void printResult(Trapec trapeci[], double areas[], int greatestAreaIndex)
  43. {
  44. cout << "### Rezultati ###\n";
  45. cout << "-> Trapeca s nai-golqma plosht e s index[" << greatestAreaIndex
  46. << "] i tq e `S = " << areas[greatestAreaIndex] << "`\n\n";
  47.  
  48. for (int i = 0; i < N; i++)
  49. {
  50. cout << "# Trapec[" << i << "]\n";
  51. cout << "Strana `a` = " << trapeci[i].a << "\n";
  52. cout << "Strana `b` = " << trapeci[i].b << "\n";
  53. cout << "Visochina `h` = " << trapeci[i].h << "\n";
  54. cout << "Lice `S` = " << areas[i] << "\n\n";
  55. }
  56. }
  57.  
  58. // Otpechatva suobshteniqta za greshka i zatvarq konzolata
  59. void printError(string errorMessage)
  60. {
  61. cout << "ERROR: " << errorMessage << "\n";
  62. system("PAUSE");
  63. exit(EXIT_FAILURE);
  64.  
  65. }
  66.  
  67. int main()
  68. {
  69. Trapec trapeci[N]; // Masiv ot trapeci
  70. double areas[N]; // Masiv za ploshtite na trapecite
  71.  
  72. for (int i = 0; i < N; i++)
  73. {
  74. cout << "Trapec[" << i << "]:\n";
  75.  
  76. double a;
  77. cout << "Strana `a` = ";
  78. cin >> a;
  79. if (!cin) printError("Molq vuvedete chislo za stranata `a`!");
  80. if (a <= 0) printError("Vuvedete polojitelno chislo za `a`!");
  81.  
  82. double b;
  83. cout << "Strana `b` = ";
  84. cin >> b;
  85. if (!cin) printError("Molq vuvedete chislo za stranata `b`!");
  86. if (b <= 0) printError("Vuvedete polojitelno chislo za `b`!");
  87.  
  88. double h;
  89. cout << "Visochina `h` = ";
  90. cin >> h;
  91. if (!cin) printError("Molq vuvedete chislo za visochinata `h`!");
  92. if (h <= 0) printError("Vuvedete polojitelno chislo za `h`!");
  93.  
  94. // Prisvoqva vuvedenite stoinosti kum tekushtiq element ot masiva
  95. trapeci[i].a = a;
  96. trapeci[i].b = b;
  97. trapeci[i].h = h;
  98.  
  99. // Vzema ploshta na tekushtiq vuveden trapec i q zapazva v masiva
  100. areas[i] = findArea(a, b, h);
  101.  
  102. cout << "\n";
  103. }
  104. cout << "==================================================\n\n";
  105.  
  106. int greatestAreaIndex = findGreatestArea(areas);
  107. printResult(trapeci, areas, greatestAreaIndex); // Otpechatva krainiqt rezultat
  108.  
  109. system("PAUSE");
  110. return 0;
  111. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement