@sidor_tank

Как переставить в обратном порядке элементы массива, расположенные между его минимальным и максимальным элементами?

Условие: переставить в обратном порядке элементы массива случайных чисел, расположенные между его минимальным и максимальным элементами. При этом можно использовать только массивы, условия и циклы. Суть такова: если у нас есть массив случайных чисел допустим : 5, 45, 34, 98, 17 , то он примет вид:
5, 34, 45, 98, 17.
  • Вопрос задан
  • 1985 просмотров
Пригласить эксперта
Ответы на вопрос 2
devalone
@devalone
̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
1 Найти индекс минимального элемента minIndex
2 Найти индекс максимального элемента maxIndex
3 Проверить, что между ними есть элементы
4 Реверснуть диапазон от min(minIndex, maxIndex) + 1 до max(minIndex, maxIndex) - 1
Ответ написан
Комментировать
@Mercury13
Программист на «си с крестами» и не только
Найти индекс минимального и максимального.
Если нужно, поменять местами, чтобы один был меньше другого. ИНДЕКСЫ, не элементы.
А теперь цикл.
++низИндекс
--верхИндекс
пока низИндекс < верхИндекс
  поменять a[низИндекс], а[верхИндекс]
  ++низИндекс
  --верхИндекс

Если индексы беззнаковые, надо проверить как-то, что первое --верхИндекс не приведёт к «антипереполнению». Например, «если верхИндекс > 0»…
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы