Advertisement
chevengur

СПРИНТ № 1 | Лямбда-функции | Урок 2: Компаратор для сортировки 3/3

Sep 21st, 2023
181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.90 KB | None | 0 0
  1. #include <algorithm>
  2. #include <iostream>
  3. #include <vector>
  4.  
  5. using namespace std;
  6.  
  7. vector<int> ReadNumbers() {
  8.     int count;
  9.     cin >> count;
  10.  
  11.     vector<int> numbers;
  12.     for (int i = 0; i < count; ++i) {
  13.         int number;
  14.         cin >> number;
  15.         numbers.push_back(number);
  16.     }
  17.  
  18.     return numbers;
  19. }
  20.  
  21. void PrintNumbers(const vector<int>& numbers) {
  22.     for (auto number : numbers) {
  23.         cout << number << " "s;
  24.     }
  25. }
  26.  
  27. int main() {
  28.     vector<int> numbers = ReadNumbers();
  29.  
  30.     sort(numbers.begin(), numbers.end(), [](int n1, int n2) {
  31.         if (n1 % 2 == 0 && n2 % 2 == 0) {
  32.             return n1 < n2;
  33.         }
  34.         else if (n1 % 2 != 0 && n2 % 2 != 0) {
  35.             return n1 > n2;
  36.         }
  37.         else if (n1 % 2 == 0 && n2 % 2 != 0){
  38.             return true;
  39.         }
  40.         else
  41.             return false;
  42.     });
  43.  
  44.     PrintNumbers(numbers);
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement