Вычисление среднего значения вектора в C++: методы и примеры

Чтобы вычислить среднее значение вектора в C++, можно использовать несколько методов. Вот несколько подходов:

Метод 1: использование цикла

#include <vector>
double calculateAverage(const std::vector<double>& vec) {
    double sum = 0.0;
    for (const auto& element : vec) {
        sum += element;
    }
    return sum / vec.size();
}

Метод 2: использование функции накопления из библиотеки

#include <vector>
#include <numeric>
double calculateAverage(const std::vector<double>& vec) {
    double sum = std::accumulate(vec.begin(), vec.end(), 0.0);
    return sum / vec.size();
}

Метод 3: использование цикла for на основе диапазона (C++11 или более поздней версии)

#include <vector>
double calculateAverage(const std::vector<double>& vec) {
    double sum = 0.0;
    for (auto element : vec) {
        sum += element;
    }
    return sum / vec.size();
}

Метод 4. Использование функции накопления с лямбда-функцией (C++11 или более поздней версии)

#include <vector>
#include <numeric>
double calculateAverage(const std::vector<double>& vec) {
    double sum = std::accumulate(vec.begin(), vec.end(), 0.0,
        [](double accumulator, double element) {
            return accumulator + element;
        });
    return sum / vec.size();
}

Метод 5: использование функции накопления с лямбда-функцией и std::plus(C++11 или более поздняя версия)

#include <vector>
#include <numeric>
double calculateAverage(const std::vector<double>& vec) {
    double sum = std::accumulate(vec.begin(), vec.end(), 0.0, std::plus<double>());
    return sum / vec.size();
}