Advertisement
Guest User

Untitled

a guest
Nov 14th, 2017
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.00 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4.  
  5. long N[3] = { 10000, 100000, 1000000 }; //кол во номеров
  6. int r[3] = { 2, 4, 16 }; // max значения
  7.  
  8. vector<int> getNumbers(int indexOfN, int indexOfR); //вектор для получения всех чисел по индексам
  9. long getRandomNumber(int min, int max); //получить случайное число в диапазоне
  10. long getAverage(vector<int> numbers); // получить среднее значение чисел
  11. double getDeviation(long average, vector<int> numbers); // получить среднеквадратичное отклонение
  12.  
  13. int main() {
  14. for (int indexOfN = 0; indexOfN < 3; indexOfN++) {
  15. for (int indexOfR = 0; indexOfR < 3; indexOfR++) {
  16. vector<int> numbers = getNumbers(indexOfN, indexOfR); // все числа в текущих N и r
  17. long average = getAverage(numbers);
  18. double deviation = getDeviation(average, numbers);
  19. cout << "N = " << N[indexOfN] << " and " << "r = " << r[indexOfR] << ":\n";
  20. cout << "Average: " << average << "\n";
  21. cout << "Deviation: " << deviation << "\n\n";
  22. }
  23. }
  24. system("pause");
  25. return 0;
  26. }
  27.  
  28. vector<int> getNumbers(int indexOfN, int indexOfR)
  29. {
  30. vector<int> numbers;
  31. for (int i = 0; i < N[indexOfN]; i++)
  32. {
  33. numbers.push_back(getRandomNumber(1, r[indexOfR] - 1));
  34. }
  35. system("pause");
  36. return numbers;
  37. }
  38.  
  39. long getRandomNumber(int min, int max)
  40. {
  41. return min + int((rand() / (double)(RAND_MAX + 1) * (max - min + 1)));
  42.  
  43. }
  44.  
  45. long getAverage(vector<int> numbers) {
  46. long average = 0;
  47.  
  48. for (unsigned int i = 0; i < numbers.size(); i++) {
  49. average += numbers[i];
  50. }
  51.  
  52. average /= numbers.size();
  53.  
  54. return average;
  55. }
  56.  
  57. double getDeviation(long average, vector<int> numbers) {
  58. double deviation = 0;
  59.  
  60. for (unsigned int i = 0; i < numbers.size(); i++) {
  61. deviation += pow(numbers[i] - average, 2);
  62. }
  63.  
  64. deviation = sqrt(deviation / numbers.size());
  65. system("pause");
  66. return deviation;
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement