Advertisement
kirya_shkolnik

тупые обезьяны

Dec 8th, 2020
259
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.56 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3. bool is_sorted(int *arr, int n) {
  4.    while ( --n >= 1 ) {
  5.       if ( arr[n] < arr[n-1] ) {
  6.          return false;
  7.       }
  8.    }
  9.    return true;
  10. }
  11. void bogosort(int *arr, int n) {
  12.     int temp, r, count = 0;
  13.    while ( !is_sorted(arr, n) ) {
  14.        count++;
  15.        cout << endl << "Попытка номер: " << count << endl <<"Значение массива: \n"; // показатель как медленно и во сколько подходов решает данный способ
  16.          for(int i=0; i < n; i++) {
  17.             cout  << arr[i] << " ";
  18.          }
  19.          
  20.          
  21.          for(int i=0; i < n; i++) {
  22.             temp = arr[i];
  23.             r = rand() % n;
  24.             arr[i] = arr[r];
  25.             arr[r] = temp;
  26.          }
  27.    }
  28. }
  29.  
  30. int main() {
  31.   int n, temp;
  32.  
  33.  
  34.   cout << "Введите n - кол-во элементов массива\n";
  35.   cin >> n;
  36.    
  37.     if(n <= 0){
  38.       cout << "n - должно быть больше нуля";
  39.       return 0;
  40.   }
  41.   int *arr = new int[n];
  42.   cout << "Введите целочисленные элементы массива: \n";
  43.   for (int i = 0; i < n; i++) {
  44.  
  45.     if(cin){
  46.     cout << "[" << i << "] = ";
  47.     int temp;
  48.     cin >> temp;
  49.     arr[i] = temp;
  50.     }
  51.     else {
  52.         cout << "Могут быть только целочисленные элементы";
  53.         return 0;
  54.     }
  55.   }
  56.   bogosort(arr, n);
  57.     cout << "\n\nОтвет:\n";
  58.     for(int i=0;i<n;i++)
  59.         cout << arr[i] << " ";
  60.     return 0;
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement