Как сортировать числа из массива в новый массив по 5 штук?

Для сортировки чисел из массива в новый массив по 5 штук можно использовать различные алгоритмы сортировки, такие как сортировка пузырьком, сортировка выбором или сортировка вставками. В данном случае мы можем воспользоваться сортировкой выбором.

1. Создайте новый массив, который будет хранить отсортированные числа.
2. Используйте цикл, который будет выполняться до тех пор, пока исходный массив не будет полностью пустым.
3. Внутри цикла найдите наименьшее число из оставшихся в исходном массиве.
4. Добавьте найденное наименьшее число в новый массив.
5. Удалите найденное число из исходного массива.
6. Повторите шаги 3-5 пока новый массив не будет заполнен нужным количеством чисел.
7. Выведите отсортированный массив.

Пример кода на языке C:

#include <stdio.h>

// Функция для поиска наименьшего числа
int findSmallest(int arr[], int n) {
  int smallest = arr[0];
  int smallestIndex = 0;

  for (int i = 1; i < n; i++) {
    if (arr[i] < smallest) {
      smallest = arr[i];
      smallestIndex = i;
    }
  }

  return smallestIndex;
}

// Функция для сортировки чисел по 5 штук
void sortNumbers(int arr[], int n, int sortedArr[], int k) {
  for (int i = 0; i < k; i++) {
    int smallestIndex = findSmallest(arr, n);
    sortedArr[i] = arr[smallestIndex];
    arr[smallestIndex] = INT_MAX; // Помечаем число как "использованное"
  }
}

int main() {
  int arr[] = {4, 2, 9, 1, 6, 5, 3, 8, 7, 10, 15, 12, 11, 13, 14}; // Исходный массив
  int n = sizeof(arr) / sizeof(arr[0]);
  int k = 5; // Количество чисел в новом массиве

  int sortedArr[k]; // Новый массив для отсортированных чисел

  sortNumbers(arr, n, sortedArr, k);

  printf("Отсортированный массив:n");
  for (int i = 0; i < k; i++) {
    printf("%d ", sortedArr[i]);
  }

  return 0;
}

Выполнение данного кода приведет к следующему результату:

Отсортированный массив:
1 2 3 4 5