fork download
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. int main() {
  5. const std::size_t n = 5;
  6. const double data[] = {1, 4, 7, 8, 11};
  7. const double th = 2;
  8.  
  9. std::vector<double> r(1, data[0]);
  10. std::size_t c = 1;
  11. for (std::size_t i = 1; i < n; ++i) {
  12. if ((data[i] - data[i - 1]) >= th) {
  13. r.back() /= static_cast<double>(c);
  14. c = 1;
  15. r.emplace_back(data[i]);
  16. }
  17. else {
  18. r.back() += data[i];
  19. ++c;
  20. }
  21. }
  22. r.back() /= c;
  23.  
  24. for(const auto e: r) {
  25. std::cout << e << " ";
  26. }
  27.  
  28. return 0;
  29. }
  30.  
  31.  
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
1 4 7.5 11