Прокомментировать код сортировки массива - C (СИ)
Формулировка задачи:
к этому коды нужны комментарии.
код должен упорядочивать массив по возрастанию.
добавьте возможность создавать массив состоящий из цифр, количество которых будет введено с клавиатуры, который затем будет упорядочиваться по возрастанию.
не использовать других массивов.
#include <stdio.h>
#include <math.h>
#include <conio.h>
int main()
{
int a1[10]={9,8,7,6,4,3,2,5,1,2012};
int i,j,m,min;
for(i=0;i<10;i++)
{
min=a1[i];
m=i;
for(j=i;j<10;j++)
{
if (a1[j]<min)
{
min=a1[j];
m=j;
} }
a1[m]=a1[i];
a1[i]=min;
}
for(i=0;i<10;i++)
printf("%d\t", a1[i]);
getch();
}Решение задачи: «Прокомментировать код сортировки массива»
textual
Листинг программы
#include <stdio.h>
#include <math.h>
#include <conio.h>
int main()
{
int a1[10]={9,8,7,6,4,3,2,5,1,2012};//Создается массив из 10 элементов и сразу инициализируется
int i,j,m,min;//Объявление переменных
//Сортировка
for(i=0;i<10;i++)
{
min=a1[i];//Присваиваем переменной min значение первого не отсортированного элемента массива
m=i;//запоминаем индекс элемента
for(j=i;j<10;j++)//Проходим по всем не отсортированным элементам массива
{
if (a1[j]<min)//если значение элемента меньше минимального, тогда
{
min=a1[j];//присваиваем переменной min значение элемента a1[j]
m=j;//запоминаем индекс минимального элемента
} }
a1[m]=a1[i];//Переставляем элементы массива
a1[i]=min;
}
for(i=0;i<10;i++)//Выводим массив
printf("%d\t", a1[i]);
getch();
}
Объяснение кода листинга программы
- #include
- подключаем файл стандартного ввода/вывода - #include
- подключаем файл математических функций - #include
- подключаем файл функций работы с консолью - int main() - функция main() является точкой входа в программу
- int a1[10]={9,8,7,6,4,3,2,5,1,2012}; - создаем массив из 10 элементов и сразу инициализируем его значениями
- int i,j,m,min; - объявляем переменные для цикла сортировки (i, j, m, min)
- for(i=0;i<10;i++) - цикл for для прохода по всем элементам массива от 0 до 9
- min=a1[i]; - присваиваем переменной min значение первого не отсортированного элемента массива
- m=i; - запоминаем индекс элемента
- for(j=i;j<10;j++) - вложенный цикл for для прохода по всем не отсортированным элементам массива
- if (a1[j]<min) - если значение элемента меньше минимального, тогда
- min=a1[j]; - присваиваем переменной min значение элемента a1[j]
- m=j; - запоминаем индекс минимального элемента
- a1[m]=a1[i]; - переставляем элементы массива
- a1[i]=min; - меняем местами минимальный элемент и элемент под индексом i
- for(i=0;i<10;i++) - цикл for для вывода отсортированного массива
- printf(
%d\t, a1[i]); - выводим значение элемента массива с пробелом в качестве разделителя - getch(); - функция для приостановки выполнения программы и передачи управления операционной системе
- } - закрытие функции main()
- } - закрытие цикла for во втором вложенном цикле for