Skip to main content

ex17.cpp


// Solution to Exercise 17
// (NDE, 2013-01-07)
#include <vector>
#include <iostream>
#include <numeric>
#include <cmath>
using namespace std;
int main()
{
  // Populate vector with data
  vector<double> data;
  int num_values;
  cout << "How many values do you want? ";
  cin >> num_values;
  for (int i = 0; i < num_values; ++i) {
    double value;
    cout << "Enter a value: ";
    cin >> value;
    data.push_back(value);
  }
  int size = data.size();
  cout << "Vector has " << size << " elements" << endl;
  // Compute mean
  double sum = accumulate(data.begin(), data.end(), 0.0);
  double mean = sum / size;
  cout << "Mean = " << mean << endl;
  // Compute and display standard deviation
  sum = 0.0;
  vector<double>::const_iterator i = data.begin();
  for (; i != data.end(); ++i) {
    double dev = *i - mean;
    sum += dev*dev;
  }
  double std_dev = sqrt(sum / size);
  cout << "Std dev = " << std_dev << endl;
  return 0;
}