pipe.cpp 848 B

123456789101112131415161718192021222324252627282930313233343536
  1. ///
  2. // Author: Andrea Miglietta
  3. // Email: andrea.miglietta92@gmail.com
  4. //
  5. // This program takes data from standard input
  6. // And evaluate average and standard deviation
  7. //
  8. #include <cmath> // sqrt()
  9. #include <iostream>
  10. #include <numeric> // accumulate()
  11. #include <vector>
  12. int main(int argc, char *argv[])
  13. {
  14. int value;
  15. std::vector<int> vec;
  16. // Read values directly from standard input and load them in a vector
  17. while (std::cin >> value) {
  18. vec.push_back(value);
  19. }
  20. double avg = ( (double)std::accumulate(vec.begin(),vec.end(),0) / vec.size() );
  21. std::cout << "Average: " << avg << std::endl;
  22. // Evaluate standard deviation of S value
  23. double sigma2 = 0;
  24. for ( auto it: vec ) sigma2 += (avg - it)*(avg - it);
  25. sigma2 /= vec.size();
  26. std::cout<< "Standard deviation: " << sqrt(sigma2) << std::endl;
  27. return 0;
  28. }