Отсортировать массив таким образом, чтобы в начале были 0, затем 2 и 1 - C (СИ)
Формулировка задачи:
массив А состоит из N чисел, каждое из которых равно 0,1 или 2
отсортировать массив таким образом, чтобы в начале были 0, затем 2, и 1
Решение задачи: «Отсортировать массив таким образом, чтобы в начале были 0, затем 2 и 1»
textual
Листинг программы
#include <conio.h>
#include <stdio.h>
#include <windows.h>
#define N 5
int cmp(const void *t, const void *b) {
return *(int*)t - *(int*)b;
}
int main ()
{
int A[N];
int i;
for (i=0;i<N;i++)
{
scanf("%d",&A[i]);
}
qsort(a, N, sizeof(int), cmp );
for(i = 0 ; i < N; i++) {
printf("%d\n", a[i]);
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с массивами и сортировкой
- Объявление функции сортировки с названием cmp, которая принимает два указателя на элементы массива и возвращает разность между ними
- Инициализация массива A с помощью цикла for и функции scanf
- Использование функции qsort для сортировки массива A по возрастанию с помощью функции cmp
- Вывод отсортированного массива с помощью цикла for и функции printf