How to calculate the average of a double vector of given length in C++

1 Answer

0 votes
#include <iostream>
#include <vector>

double average(const std::vector<double> v, int len) {
    if (v.size() == 0)
        return 0;

    double sum = 0;

    for (int i = 0; i < len; i++)
        sum += v[i];
 
    return sum / len;
}

int main()
{
	std::vector<double> v = {3.14, 8.0, 2.87, 5.982, 10.0};
	int len = v.size();
	
	for (; len >= 0; len--) {
		std::cout << "average[";
		for (int i = 0; i < len; i++)
			std::cout << (i ? ", " : "") << v[i];

		std::cout << "] = " << average(v, len) << "\n";
		
		
	}
}




/*
run:

average[3.14, 8, 2.87, 5.982, 10] = 5.9984
average[3.14, 8, 2.87, 5.982] = 4.998
average[3.14, 8, 2.87] = 4.67
average[3.14, 8] = 5.57
average[3.14] = 3.14
average[] = -nan

*/

 



answered Oct 16, 2022 by avibootz

Related questions

...