Чтобы вычислить среднее значение вектора в 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();
}