Advertisement
Derga

Untitled

Feb 27th, 2023 (edited)
493
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.47 KB | None | 0 0
  1. /*
  2. Задание 2.
  3.     В одномерном массиве, состоящем из n вещественных элементов, вычислить:
  4.         -количество элементов массива, лежащих в диапазоне от A до B;
  5.         -сумму элементов массива, расположенных после максимального элемента;
  6. */
  7.  
  8. #include <algorithm>
  9. #include <iomanip>
  10. #include <iostream>
  11. #include <numeric>
  12. #include <vector>
  13.  
  14. using namespace std;
  15.  
  16. int main() {
  17.     size_t numbers_count;
  18.     cin >> numbers_count;
  19.  
  20.     vector<double> numbers(numbers_count);
  21.     for (auto& number : numbers) {
  22.         cin >> number;
  23.     }
  24.  
  25.     double A, B;
  26.     cin >> A >> B;
  27.     if (B < A) {
  28.         swap(A, B);
  29.     }
  30.  
  31.     size_t count_numbers_between_A_B = count_if(numbers.begin(), numbers.end(), [&A, &B] (const auto& number) {
  32.         return A <= number && number <= B;
  33.     });
  34.  
  35.     auto it = max_element(numbers.begin(), numbers.end());
  36.     if (it != numbers.end()) {
  37.         it++;
  38.     }
  39.  
  40.     auto sum_of_numbers_after_max = accumulate(it, numbers.end(), 0.);
  41.    
  42.     const auto PRECISION = 10;
  43.     cout << "Count of numbers greater than or equal to A and less than or equal to B = "
  44.         << count_numbers_between_A_B << '\n'
  45.         << "The sum of the numbers located after max = "
  46.         << fixed << setprecision(PRECISION) << sum_of_numbers_after_max << '\n';
  47.  
  48.     return 0;
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement