Vlad5080

всевозможная перестановка шаров

Jan 5th, 2020
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.91 KB | None | 0 0
  1. #include <iostream>
  2. #include <algorithm>
  3. #include <vector>
  4. using namespace std;
  5.  
  6. bool proverka(vector<int> ball)
  7. {
  8.     for (int i = 0; i < ball.size(); i++)
  9.     {
  10.         if (i + 1 == ball[i])
  11.         {
  12.             return true;
  13.         }
  14.     }
  15. }
  16.  
  17. int main()
  18. {
  19.     setlocale(0, "");
  20.     cout << "Введите количество шаров\n -> ";
  21.     int size;
  22.     cin >> size;
  23.     vector< int > vector;
  24.     int count = 0;
  25.  
  26.     for (int i = 1; i <= size; i++){
  27.         vector.push_back(i);
  28.     }
  29.  
  30.     do{
  31.         if (proverka(vector) == true){
  32.             cout << endl;
  33.            
  34.             for (int i = 0; i < vector.size(); i ++){
  35.                 cout << vector[i] << " ";
  36.             }
  37.  
  38.             cout << endl;
  39.             count += 1;
  40.            
  41.             for (int i = 1; i <= vector.size(); i++) {
  42.                 cout << i << " ";
  43.             }
  44.             cout << endl;
  45.         }
  46.     } while (next_permutation(vector.begin(), vector.end()));
  47.     cout << "Количество подходящих вариаций\n ->" << count;
  48.     system("pause");
  49.     return 0;
  50.  
  51. }
Add Comment
Please, Sign In to add comment