Переставить элементы массива - 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 соответственно, то требуется обмен только первого и последнего элементов.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д