mstoyanov7

1va retake

May 20th, 2021
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.39 KB | None | 0 0
  1. #include <iostream>
  2. #include <array>
  3. #include <vector>
  4. #include <algorithm>
  5.  
  6. const int maxSize = 100;
  7.  
  8. std::array<int, maxSize> readInput(int& arrSize) {
  9. std::cin >> arrSize;
  10. std::array<int, maxSize> arr{};
  11.  
  12. for (int i = 0; i < arrSize; ++i) {
  13. std::cin >> arr[i];
  14. }
  15. return arr;
  16. }
  17.  
  18. double findAverage(std::array<int, maxSize>& numbers, int& arrSize, double& average) {
  19. double sum = 0;
  20. for (int i = 0; i < arrSize; ++i) {
  21. sum += numbers[i];
  22. }
  23. average = sum / arrSize;
  24. return average;
  25. }
  26.  
  27. void Solution(std::array<int, maxSize>& numbers, int& arrSize, double& average) {
  28. std::vector<int> greaterNums;
  29.  
  30. int greaterNumsCounter = 0;
  31. for (int i = 0; i < arrSize; ++i) {
  32. if (numbers[i] > average) {
  33. greaterNumsCounter++;
  34. greaterNums.push_back(numbers[i]);
  35. }
  36. }
  37.  
  38. sort(greaterNums.begin(), greaterNums.end(), std::greater<int>());
  39.  
  40. if (greaterNumsCounter == 0) {
  41. std::cout << "No";
  42. }
  43.  
  44. else {
  45. if (greaterNums.size() >= 5) {
  46. for (int i = 0; i < 5; ++i) {
  47. std::cout << greaterNums[i] << ' ';
  48. }
  49. }
  50.  
  51. if (greaterNums.size() < 5) {
  52. for (int i = 0; i < greaterNums.size(); ++i) {
  53. std::cout << greaterNums[i] << ' ';
  54. }
  55. }
  56. }
  57. }
  58.  
  59. int main() {
  60. int arrSize = 0;
  61. std::array<int, maxSize> numbers = readInput(arrSize);
  62.  
  63. double average = 0;
  64. findAverage(numbers, arrSize, average);
  65.  
  66. Solution(numbers, arrSize, average);
  67. }
Advertisement
Add Comment
Please, Sign In to add comment