Advertisement
Guest User

Untitled

a guest
Nov 19th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.36 KB | None | 0 0
  1. #include <iostream>
  2.  
  3.  
  4. using namespace std;
  5.  
  6. class dzialaniaNaCiagu{
  7. public:
  8. void sortowanie(int tab[], int left, int right);
  9. double mediana(int tab[], int n);
  10. double modalna(int tab[], int n);
  11. double srednia(int tab[], int n);
  12. double najwieksza(int tab[], int n);
  13. double najmniejsza(int tab[], int n);
  14.  
  15. };
  16.  
  17. void dzialaniaNaCiagu::sortowanie(int tab[], int left, int right)
  18. {
  19. int i = left;
  20. int j = right;
  21. int x = tab[(left + right) / 2 ];
  22. do
  23. {
  24. while(tab[i] < x)
  25. i++;
  26.  
  27. while(tab[j] > x)
  28. j--;
  29.  
  30. if(i <= j)
  31. {
  32. swap(tab[i], tab[j]);
  33.  
  34. i++;
  35. j--;
  36. }
  37. } while(i <= j);
  38.  
  39. if(left < j) sortowanie(tab, left, j);
  40.  
  41. if(right > i) sortowanie(tab, i, right);
  42.  
  43. }
  44.  
  45. double dzialaniaNaCiagu::srednia(int tab[], int n)
  46. {
  47. int mianownik, suma = 0, i;
  48.  
  49. for (i = 0; i <= n; i++){
  50. suma = suma + tab[i];
  51. }
  52. mianownik = i;
  53. return suma/mianownik;
  54. }
  55.  
  56. double dzialaniaNaCiagu::mediana(int tab[], int n)
  57. {
  58. double med;
  59. sortowanie(tab, 0 , n-1);
  60. if(n % 2 != 0){
  61. med = tab[n/2 + 1];
  62. } else {
  63. med = tab[n/2]+ tab[(n/2)+1];
  64. med = med/2;
  65. if(n == 2){
  66. med = tab[1] + tab[0];
  67. med = med/2;
  68. }
  69. }
  70. return med;
  71. }
  72.  
  73. double dzialaniaNaCiagu::modalna(int tab[], int n)
  74. {
  75. int numer[n], i, j;
  76. sortowanie(tab, 0, n-1);
  77. for(i = 0; i < n; i++){
  78. numer[i] = 0;
  79. }
  80.  
  81. for(i = 0; i < n; i++){
  82. for(j = 0; j < n; j++){
  83. if(tab[i] == tab[j])
  84. numer[i]++;
  85. }
  86. }
  87.  
  88. for(i = 0; i < n; i++){
  89. for(j = 0; j < n; j++){
  90. if(numer[j] < numer[j+1]){
  91. swap(tab[j], tab[j+1]);
  92. swap(numer[j], numer[j+1]);
  93. }
  94. }
  95. }
  96.  
  97. cout << tab[0];
  98.  
  99. }
  100.  
  101. double dzialaniaNaCiagu::najmniejsza(int tab[], int n)
  102. {
  103. sortowanie(tab, 0, n-1);
  104. return tab[0];
  105. }
  106.  
  107. double dzialaniaNaCiagu::najwieksza(int tab[], int n)
  108. {
  109. sortowanie(tab, 0, n-1);
  110. return tab[n];
  111. }
  112. int main()
  113. {
  114. dzialaniaNaCiagu x;
  115.  
  116. int n;
  117. cout << "Podaj ilosc wyrazow ciagu: ";
  118. cin >> n;
  119. int wyrazy[n], i;
  120. for(i = 0; i < n; i++){
  121. cout << "Podaj " << i << " wyraz ciagu: ";
  122. cin >> wyrazy[i];
  123. }
  124.  
  125.  
  126. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement