Advertisement
Guest User

Untitled

a guest
Dec 14th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.07 KB | None | 0 0
  1. #include <iostream>
  2. #include <random>
  3. #include <vector>
  4. #include <ctime>
  5.  
  6. template<typename T>
  7. std::vector<T> createRandomArray(size_t size) {
  8.     auto mt = std::mt19937(time(0));
  9.     auto arr = std::vector<T>();
  10.     for (size_t i = 0; i < size; ++i)
  11.         arr.push_back(mt());
  12.     return arr;
  13. }
  14.  
  15. template <typename T>
  16. T sum_between_nulls(const std::vector<T> array) {
  17.     T sum = 0;
  18.  
  19.     bool isSumOperation = false;
  20.     for (auto i : array) {
  21.         if (i == 0) {
  22.             if (isSumOperation)
  23.                 break;
  24.             else {
  25.                 isSumOperation = true;
  26.                 continue;
  27.             }
  28.         }
  29.  
  30.         if (isSumOperation)
  31.             sum += i;
  32.     }
  33.  
  34.     return sum;
  35. }
  36.  
  37. int main() {
  38.     size_t N = 0;
  39.     std::cout << "Введите размер массива: " << std::endl;
  40.     std::cin >> N;
  41.  
  42.     auto array = createRandomArray<int>(N);
  43.     std::cout << "Сумма элементов между первым и вторым нулями: " << sum_between_nulls(array) << std::endl;
  44.  
  45.  
  46.     return 0;
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement