Advertisement
35657

Untitled

Sep 21st, 2024
24
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.25 KB | None | 0 0
  1.  
  2. #include <iostream>
  3. #include <vector>
  4. #include <algorithm>
  5.  
  6. template<typename Container>
  7. void print(const Container& cont) {
  8.     for (const auto& a: cont) {
  9.         std::cout << a << " ";
  10.     }
  11.     std::cout << std::endl << std::endl;
  12. }
  13.  
  14. int main() {
  15.     std::vector<int> numbers{ 89, 42, 6, 14, 81, 91, 28, 64, 48, 66, 55, 17, 85, 22, 22, 63, 81, 45, 29, 67, 52, 47, 23, 98, 3, 32, 71, 53, 93, 49, 60, 88, 59, 37, 68, 55, 29, 73, 42, 45 };
  16.  
  17.     print(numbers);
  18.  
  19.     std::sort(numbers.begin(), numbers.end()); // сортировка по умолчанию (по возрастанию)
  20.  
  21.     print(numbers);
  22.  
  23.     std::sort(numbers.begin(), numbers.end(), [](const int a, const int b) { return a > b; }); // сортировка по определенным критериям (в данном случае сортировка по убыванию)
  24.  
  25.     print(numbers);
  26.  
  27.     std::reverse(numbers.begin(), numbers.end()); // разворот контейнера
  28.  
  29.     print(numbers);
  30.  
  31.     std::cout << std::count(numbers.begin(), numbers.end(), 81) << std::endl; // подсчет количества вхождений конкретного элемента
  32.  
  33.     std::cout << std::count_if(numbers.begin(), numbers.end(), [](int a) { return a % 2 == 0; }) << std::endl; // подсчет количества вхождений элементов, удовлетворяющих определенным условиям
  34.  
  35.     std::cout << numbers.size() << std::endl;
  36.  
  37.     auto it = std::find(numbers.begin(), numbers.end(), 73);
  38.  
  39.     if (it != numbers.end()) {
  40.         std::cout << *it << std::endl;
  41.         std::cout << it - numbers.begin() << std::endl;
  42.         *it += 5;
  43.     }
  44.  
  45.     print(numbers);
  46.  
  47.     it = std::remove(numbers.begin(), numbers.end(), 78);
  48.  
  49.     numbers.erase(it);
  50.  
  51.     print(numbers);
  52.  
  53.     std::replace(numbers.begin(), numbers.end(), 98, 111);
  54.  
  55.     print(numbers);
  56.  
  57.     std::replace_if(numbers.begin(), numbers.end(), [](int a) { return a < 20; }, 0);
  58.  
  59.     print(numbers);
  60.  
  61.     it = std::unique(numbers.begin(), numbers.end()); // удаляет дубликаты
  62.  
  63.     numbers.erase(it, numbers.end());
  64.  
  65.     print(numbers);
  66.  
  67.     it = std::lower_bound(numbers.begin(), numbers.end(), 29);
  68.  
  69.     std::cout << *it << std::endl;
  70.  
  71.     std::for_each(numbers.begin(), numbers.end(), [](int& a) { a *= 2; });
  72.  
  73.     print(numbers);
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement