Напишите функцию, которая позволяет вычислить среднее арифметическое чисел в векторе std::vector<double> и массиве double[]
.
Чтобы не создавать для массива и вектора отдельные функции, используйте тип std::span<double>
#include <iostream> #include <vector> #include <span> double average(std::span<double>); int main() { // используем массив double num_array[] { 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0 }; std::cout << "Average of num_array: " << average(num_array) << std::endl; // используем вектор std::vector<double> num_vector{ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0 }; std::cout << "Average of num_vector: " << average(num_vector) << std::endl; } double average(std::span<double> data) { double sum{}; // Accumulate total in here for (double val : data) sum += val; // Sum array elements return sum / data.size(); // Return average }
Консольный вывод:
Average of num_array: 5.5 Average of num_vector: 5.5