Переставить элементы массива - C (СИ)

Узнай цену своей работы

Формулировка задачи:

дано массив F [14]. Переставить элементы массива таким образом, чтобы в начале был минимальный элемент массива а в конце максимальный. Вывести результирующий массив.

Решение задачи: «Переставить элементы массива»

textual
Листинг программы
  1. #define N 14
  2. imin = imax = 0;
  3. for(i=1; i<N; i++) {
  4.   if (a[i] < a[imin]) imin = i;
  5.   if (a[i] > a[imax]) imax = i;
  6. }
  7. if (imin==imax) printf("Все числа равны\n");
  8. else {
  9.  if (imin != 0) {
  10.     tmp = a[0];
  11.     a[0] = a[imin];
  12.     a[imin] = tmp;
  13.   }
  14.  if (imax != N-1) {
  15.     tmp = a[N-1];
  16.     a[N-1] = a[imax];
  17.     a[imax] = tmp;
  18.   }
  19. }

Объяснение кода листинга программы

Код выполняет сортировку массива a методом выборочного обмена (selection sort).

  1. Первая строка определяет размер массива N.
  2. Следующие три строки ищут минимальный и максимальный элементы в неотсортированном массиве.
  3. Если все элементы равны, выводится сообщение Все числа равны.
  4. В противном случае, если min и max не являются первым и последним элементами соответственно, происходит обмен их местами.
  5. Если min и max находятся на позициях 0 и N-1 соответственно, то требуется обмен только первого и последнего элементов.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы