Переставить элементы массива - C (СИ)
Формулировка задачи:
дано массив F [14]. Переставить элементы массива таким образом, чтобы в начале был минимальный элемент массива а в конце максимальный. Вывести результирующий массив.
Решение задачи: «Переставить элементы массива»
textual
Листинг программы
- #define N 14
- imin = imax = 0;
- for(i=1; i<N; i++) {
- if (a[i] < a[imin]) imin = i;
- if (a[i] > a[imax]) imax = i;
- }
- if (imin==imax) printf("Все числа равны\n");
- else {
- if (imin != 0) {
- tmp = a[0];
- a[0] = a[imin];
- a[imin] = tmp;
- }
- if (imax != N-1) {
- tmp = a[N-1];
- a[N-1] = a[imax];
- a[imax] = tmp;
- }
- }
Объяснение кода листинга программы
Код выполняет сортировку массива a методом выборочного обмена (selection sort).
- Первая строка определяет размер массива N.
- Следующие три строки ищут минимальный и максимальный элементы в неотсортированном массиве.
- Если все элементы равны, выводится сообщение
Все числа равны
. - В противном случае, если min и max не являются первым и последним элементами соответственно, происходит обмен их местами.
- Если min и max находятся на позициях 0 и N-1 соответственно, то требуется обмен только первого и последнего элементов.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д