Advertisement
Kordan

Сортировка массива методом пузырька

Feb 1st, 2018
259
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 6.69 KB | None | 0 0
  1. /*
  2. * Kordan C++ ********************************************************
  3. * Программа определения максимального и минимального значения чисел *
  4. * в заданном диапазоне и сортировка методом пузырька                *                                        
  5. * *******************************************************************
  6. */
  7.  
  8. #include <iostream>
  9. #include <cstdlib> // содержит srand() и rand()
  10. #include <ctime>   // содержит time()
  11. using namespace std;
  12.  
  13.  
  14. int FillArray (int arr[], const int size, const int min_range, const int max_range);
  15. int FindMinValueArray (int arr[], const int size);
  16. int FindMaxValueArray (int arr[], const int size);
  17. void bubbleSort (int arr[], int size);
  18.  
  19. int main () {
  20.     setlocale (LC_ALL, "RUS");
  21.     // Количество чисел в массиве
  22.     const int SIZE = 20;
  23.     // Минимальное число в массиве
  24.     const int MIN_RANGE = 2;
  25.     // Максимальное число в массиве
  26.     const int MAX_RANGE = 100;
  27.  
  28.     int list[SIZE];
  29.     if (FillArray (list, SIZE, MIN_RANGE, MAX_RANGE) != 1) {
  30.         cout << "Минимальное значение: " << FindMinValueArray (list, SIZE) << '\n';
  31.         cout << "Максимальное значение: " << FindMaxValueArray (list, SIZE) << '\n';
  32.         bubbleSort (list, SIZE);
  33.         cout << "\nСортировка: ";
  34.         for (int i = 0; i < SIZE; i++) cout << list[i] << " ";
  35.         }
  36.  
  37.     cout << endl << endl;
  38.     //system ("pause");
  39.     return 0;
  40.     }
  41.  
  42. // -- begin -----------------------------------------------------------------------
  43. // Kordan С++                                                                     -
  44. // Функция сортировки методом пузырька                                            -
  45. //                                                                                -
  46. // Аргументы функции:                                                             -
  47. // arr[] - Имя массива                                                            -
  48. // size  - Размер массива                                                         -
  49. //                                                                                -
  50. // сортировка по возрастанию - знак в условии <                                   -
  51. // сортировка по убыванию    - знак в условии >                                   -
  52. // --------------------------------------------------------------------------------
  53. void bubbleSort (int arr[], const int size) {
  54.     int tmp, i, j;
  55.  
  56.     for (i = 0; i < size - 1; i++) {
  57.         for (j = 0; j < size - 1; j++) {
  58.             if (arr[j + 1] < arr[j]) {
  59.                 tmp = arr[j + 1];
  60.                 arr[j + 1] = arr[j];
  61.                 arr[j] = tmp;
  62.                 }
  63.             }
  64.         }
  65.     }
  66. // -- end --
  67.  
  68. // -- begin -----------------------------------------------------------------------
  69. // Kordan С++                                                                     -
  70. // Функция заполнения массива случайными целочисленными числами в диапазоне чисел -
  71. //                                                                                -
  72. // Необходимо подключить:                                                         -
  73. // #include <cstdlib> (содержит srand() и rand())                                 -
  74. // #include <ctime>   (содержит time())                                           -
  75. //                                                                                -
  76. // Аргументы функции:                                                             -
  77. // arr[]     - Имя массива                                                        -
  78. // size      - Размер массива                                                     -
  79. // min_range - Минимальное значение диапазона                                     -
  80. // max_range - Максимальное значение массива                                      -
  81. // --------------------------------------------------------------------------------
  82. int FillArray (int arr[], const int size, const int min_range, const int max_range) {
  83.     // Автоматическая рандомизация
  84.     srand (time (0));
  85.  
  86.     for (int i = 0; i < size; i++) {
  87.         if (min_range <= max_range) arr[i] = min_range + rand () % (max_range + 1 - min_range);
  88.         else {
  89.             cout << "Ошибка!\nМаксимальное значение диапазона чисел должно быть больше минимального!\n";
  90.             return 1;
  91.             }
  92.         }
  93.     }
  94. // -- end --
  95.  
  96. // -- begin -------------------------------------------------------------
  97. // Kordan C++                                                           -
  98. // Функция поиска минимального целочисленного значения в массиве чисел  -
  99. //                                                                      -
  100. // Аргументы функции:                                                   -
  101. // arr[] - Имя массива                                                  -
  102. // size  - Размер массива                                               -
  103. //-----------------------------------------------------------------------
  104. int FindMinValueArray (int arr[], const int size) {
  105.     int min = arr[0];
  106.  
  107.     for (int i = 1; i < size; i++)
  108.         if (min > arr[i]) min = arr[i];
  109.     return min;
  110.     }
  111. // -- end --
  112.  
  113. // -- begin -------------------------------------------------------------
  114. // Kordan C++                                                           -
  115. // Функция поиска максимального целочисленного значения в массиве чисел -
  116. //                                                                      -
  117. // Аргументы функции:                                                   -
  118. // arr[] - Имя массива                                                  -    
  119. // size  - Размер массива                                               -
  120. //-----------------------------------------------------------------------
  121. int FindMaxValueArray (int arr[], const int size) {
  122.     int max = arr[0];
  123.  
  124.     for (int i = 0; i < size; i++)
  125.         if (max < arr[i]) max = arr[i];
  126.     return max;
  127.     }
  128. // -- end --
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement