Advertisement
Guest User

Untitled

a guest
Jan 26th, 2020
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.28 KB | None | 0 0
  1.  
  2. #include <random>
  3. #include <ctime>
  4. #include<iomanip>
  5. #include<iostream>
  6.  
  7. using namespace std; //przestrzeƄ nazw std;
  8. int* utworz_tablice_int(int &n) {
  9. return new int[n];
  10. }
  11.  
  12. void wygeneruj_wartosci(int* t, int& n) { //Wygenerowanie losowych wartosci do tablicy z przedzialu
  13. default_random_engine generator(unsigned(time(0)));
  14. uniform_int_distribution<> losowa(0,100); //PrzedziaƂ losowych wartosci w tablicy w nawiasie losowa(0,100)
  15. for (int i = 0; i < n; i++)
  16. t[i] = losowa(generator);
  17. }
  18. void wypisz_tablice(const int* t, int n) { //wypisanie tablicy
  19. cout << "\n";
  20. for (int i = 0; i < n; i++)
  21. cout << fixed << setprecision(2) << *(t + i) << " ";
  22. }
  23.  
  24.  
  25. float srednia(int* t,int &n) //parametry: i //punkt a
  26. {
  27.  
  28. float wynik=0;
  29.  
  30. for (int i = 0; i < n; i++)
  31. {
  32. wynik =wynik + *(t + i);
  33.  
  34. }
  35. float sr;
  36. sr = wynik / n;
  37.  
  38. return sr;
  39. delete t;
  40. }
  41.  
  42. float odchylenie(int* t, int &n, float sr) { //Punkt b
  43.  
  44. float odchylenie;
  45. int suma=0;
  46. for (int i = 0; i < n; i++) {
  47. suma += *(t + i);
  48. }
  49. odchylenie = float(sqrt(pow(float(suma - sr), 2) / n));
  50.  
  51. return odchylenie;
  52. delete t;
  53. }
  54. float funkcja3(int *t,int &n,float sr,float odchylenie) //Punkt c
  55. {
  56. int zlicz = 0;
  57. double dolnagranica = sr - odchylenie; //wyznaczenie dolnej granicy
  58. double gornagranica = sr + odchylenie; //wyznaczenie gornej granicy
  59.  
  60. for (int i = 0; i < n; i++)
  61. {
  62.  
  63. if (*(t + i)>dolnagranica && gornagranica > *(t + i))//zliczenie wartosci drugiej tablicy by ja stworzyc
  64. {
  65.  
  66. zlicz++;
  67. }
  68. }
  69. int* tab2 = new int[zlicz];//wstawienie wartosci do 2 tablicy
  70. {
  71. cout << "Druga tablica: ";
  72. for (int i = 0; i < n; i++)
  73. {
  74.  
  75. if (*(t + i) > dolnagranica&& gornagranica > * (t + i))
  76. {
  77. *tab2 = *(t + i);
  78. cout << *tab2 << " , ";
  79. tab2++;
  80. }
  81.  
  82. }
  83. }
  84. cout << "\nLiczba el drugiej tablicy: " << zlicz << endl;
  85. return *tab2;
  86. delete tab2;
  87. }
  88.  
  89. int main()
  90. {
  91. float y=0;
  92. int n;
  93. cout << "Podaj rozmiar tablicy:" << endl;
  94. cin >> n;
  95.  
  96. int* a=utworz_tablice_int(n);
  97. wygeneruj_wartosci(a, n);
  98. wypisz_tablice(a, n);
  99. float sr = srednia(a, n);
  100. float odchyl = odchylenie(a, n, sr);
  101. cout << "\nSrednia:" << sr << "\nodchylenie: " << odchyl << endl;
  102. funkcja3(a, n, sr, odchyl);
  103.  
  104.  
  105.  
  106.  
  107. delete a;
  108. return 0;
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement