Сортировка выбором - C (СИ) (76243)
Формулировка задачи:
Напишите программу, реализующую сортировку выбором
Решение задачи: «Сортировка выбором»
textual
Листинг программы
#include <stdio.h>
#include <math.h>
#include <locale.h>
#define n 5
int main(){
setlocale(LC_ALL, "rus");
int a[n]; //массив а размера n
int i, j; // i, j счетчики циклов
int buf; //buf буферная переменная
int min; //min минимальное значение
//Заполняем массив
printf("Введите элементы массива:\n");
for(i=0; i<n; i++){
scanf("%d", &a[i]);
}
for(i = 0; i < n-1; i++) {
//поиск минимального элемента в части массива от а[1] до a[SIZE]}
min=i;
for(j = i+1; j < n; j++)
if(a[j] < a[min])
min = j;
//поменяем местами a [min] и a[i]
buf=a[i];
a[i]=a[min];
a[min]=buf;
}
//Выведем массив
for(i=0; i<n; i++)
printf("%d ", a[i]);
printf("\n");
return 0;
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Определяем размер массива n
- Устанавливаем локальную настройку на русскую локализацию
- Объявляем массив a размера n и переменные i, j, buf, min
- Заполняем массив a с помощью цикла и функции scanf
- Используем два вложенных цикла для поиска минимального элемента в текущей части массива и его последующего перемещения в начало
- Меняем местами минимальный элемент и элемент под индексом i с помощью буферной переменной buf
- Выводим отсортированный массив с помощью цикла и функции printf
- Возвращаем 0, чтобы указать, что программа успешно завершилась