fork download
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. // Функция для сортировки вставками
  7. void insertionSort(vector<int>& arr) {
  8. int n = arr.size();
  9. for (int i = 1; i < n; i++) {
  10. int key = arr[i];
  11. int j = i - 1;
  12.  
  13. // Сдвигаем элементы, которые больше key, на одну позицию вперёд
  14. while (j >= 0 && arr[j] > key) {
  15. arr[j + 1] = arr[j];
  16. j--;
  17. }
  18. arr[j + 1] = key;
  19. }
  20. }
  21.  
  22. // Функция для подсчёта чётных чисел в массиве
  23. int countEvenNumbers(const vector<int>& arr) {
  24. int count = 0;
  25. for (int num : arr) {
  26. if (num % 2 == 0) {
  27. count++;
  28. }
  29. }
  30. return count;
  31. }
  32.  
  33. int main() {
  34. int k;
  35. cout << "Введите количество элементов в массиве: ";
  36. cin >> k;
  37.  
  38. vector<int> arr(k);
  39. cout << "Введите элементы массива: ";
  40. for (int i = 0; i < k; i++) {
  41. cin >> arr[i];
  42. }
  43.  
  44. // Сортировка массива
  45. insertionSort(arr);
  46.  
  47. // Подсчёт чётных чисел
  48. int evenCount = countEvenNumbers(arr);
  49.  
  50. // Вывод отсортированного массива
  51. cout << "Отсортированный массив: ";
  52. for (int num : arr) {
  53. cout << num << " ";
  54. }
  55. cout << endl;
  56.  
  57. // Вывод количества чётных чисел
  58. cout << "Количество чётных чисел в массиве: " << evenCount << endl;
  59.  
  60. return 0;
  61. }
Success #stdin #stdout 0.01s 5288KB
stdin
Standard input is empty
stdout
Введите количество элементов в массиве: Введите элементы массива: Отсортированный массив: 
Количество чётных чисел в массиве: 0