Guest User

Untitled

a guest
Jan 16th, 2020
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.95 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. int is_sorted (vector <int> vec) {
  7.     bool flag = 1; ///число, равное 1 если вектор отсортирован
  8.  
  9.     for(int i = 1; i < vec.size(); i++) {
  10.         if(vec[i] < vec[i - 1]) {
  11.             flag = 0;
  12.             break;
  13.         }
  14.     }
  15.     if(flag) {
  16.         ///прошлись по вектору и поняли, что флаг остался единицей - значит векторр отсортирован по возрастанию
  17.         ///(так как в алгоритме мы ставили флаг = 0, если следующее число меньше предыдущего
  18.         return 1; /// допустим, будем возвращать 1 если вектор отсортирован по возрастанию
  19.     }
  20.     else {
  21.         ///такой же код с проверкой, отсортирован ли по убыванию (просто знак поменяли)
  22.         flag = 1;
  23.         for(int i = 1; i < vec.size(); i++) {
  24.             if(vec[i] > vec[i - 1]) {
  25.                 flag = 0;
  26.                 break;
  27.             }
  28.         }
  29.         if(flag) {
  30.             return 2; ///пускай возвращаем 2
  31.         }
  32.     }
  33.     ///если мы сделали все проверки, а flag == 0, тогда возвращаем 0 <=> вектор не отсортирован
  34.     return 0;
  35. }
  36.  
  37. int main() {
  38.     vector <int> our_vector;
  39.     int n;
  40.  
  41.     cout << "Введите число элементов" << endl;
  42.     cin >> n;
  43.  
  44.     for(int i = 0; i < n; i++) {
  45.         int tmp;
  46.         cin >> tmp;
  47.         our_vector.push_back(tmp);
  48.     }
  49.  
  50.     int sorted = is_sorted(our_vector);
  51.  
  52.     if(sorted == 1) cout << "YEY! Vector sortirovan po vozrastaniu";
  53.     else if (sorted == 2) cout << "YET anyway! Vector sortirovan po ubivaniu";
  54.     else cout << "Eternal Sadness";
  55.  
  56.     return 0;
  57. }
Advertisement
Add Comment
Please, Sign In to add comment