Guest User

Untitled

a guest
Jan 18th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.62 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <vector>
  4. #include <sstream>
  5. #import <cmath>
  6.  
  7. using namespace std;
  8.  
  9. std::vector<int> readFile(const std::string &filePath) {
  10. ifstream in_file;
  11. in_file.open(filePath);
  12. std::vector<int> numbers;
  13.  
  14. std::string line;
  15.  
  16. while(std::getline(in_file,line,'r')){
  17. numbers.push_back(std::stoi(ligne));
  18. }
  19.  
  20. return numbers;
  21. }
  22.  
  23. float computeMean(std::vector<int> numbers)
  24. {
  25. if(numbers()) return 0;
  26.  
  27. float total = 0;
  28. for (int number : numbers) {
  29. total += number;
  30. }
  31.  
  32. return (total / numbers.size());
  33. }
  34.  
  35. float computeVariance(float mean, std::vector<int> numbers)
  36. {
  37. float result = 0;
  38. for(int number : numbers)
  39. {
  40. result += (number - mean)*(number - mean);
  41. }
  42.  
  43. return result / (numbers.size() - 1);
  44. }
  45.  
  46. int main() {
  47. std::cout << "Veuillez entrer le nom du fichier (donnees.csv) :" << std::endl;
  48. std::string filePath;
  49. std::cin >> filePath;
  50. std::vector<int> numbers = readFile(filePath);
  51. float mean = computeMean(numbers);
  52. float variance = computeVariance(mean, numbers);
  53. float standardDeviation = sqrt(variance);
  54.  
  55. std::cout << std::to_string(numbers.size()) + " données : ";
  56. std::string data;
  57. for(int number : numbers) {
  58. data += std::to_string(data) + ", ";
  59. }
  60. data = data.substr(0, data.length()-2);
  61. std::cout << data << std::endl;
  62.  
  63. std::cout << "Moyenne : " << std::to_string(mean) << std::endl;
  64. std::cout << "Variance : " << std::to_string(variance) << std::endl;
  65. std::cout << "Écart Type : " << std::to_string(standardDeviation) << std::endl;
  66. return 0;
  67. }
Add Comment
Please, Sign In to add comment