Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.10.2018, 08:26   #1
Megabuzz
Пользователь
 
Регистрация: 15.10.2018
Сообщений: 11
По умолчанию Упорядочить массив: наименьший элемент, затем наибольший, затем наименьший из оставшихся, затем наибо

Здравствуйте, пытаюсь решить задание, всё никак не могу найти решения.

Задание: расположить элементы целочисленного массива в следующем порядке. Первым располагается наименьший
элемент, вторым - наибольший, затем наименьший из оставшихся,затем наибольший из оставшихся и т.д.
Megabuzz вне форума Ответить с цитированием
Старый 15.10.2018, 08:47   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Отсортируйте и поменяйте попарно.
p51x вне форума Ответить с цитированием
Старый 15.10.2018, 11:51   #3
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 954
По умолчанию

сортируйте исходный массив

и создавайте новый массив

собирая элементы то с начала то с конца

1 2 3 4 5 6 7 8
1 8 2 7 3 6 4 5
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую
сфинкс вне форума Ответить с цитированием
Старый 15.10.2018, 12:15   #4
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
поменяйте попарно
Попарно, боюсь не выйдет. Проще слить с двух концов в новый массив
Black Fregat вне форума Ответить с цитированием
Старый 15.10.2018, 14:58   #5
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

ну или использовать модификацию классического пузырька
Код:
for k:=low(m) to high(m) do 
for j:=high(m)-1 downto k do  //из оставшихся начиная с конца
  if  ( (k mod 2 =0) and (m[j] < m[j+1]) ) на четное место наибольший 
   or ( (k mod 2 =1) and (m[j] > m[j+1]) ) на нечетное - наименьший
     then begin m[j]:=m[j+1]-m[j]; m[j+1]:=m[j+1]-m[j]; m[j]:=m[j]=m[j+1]; end;
P.S. язык ТС не указал
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 15.10.2018 в 15:01.
evg_m вне форума Ответить с цитированием
Старый 16.10.2018, 21:19   #6
Megabuzz
Пользователь
 
Регистрация: 15.10.2018
Сообщений: 11
По умолчанию

Извиняюсь, с++. Одним методом реализовал для чётных массивов, а вот проще сортировкой и для всех(чётных и нечётных) всё никак не могу.
Megabuzz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[C#] Дан массив.Создать новый массив, в который поместить элементы так: первым поместить макс. элемент исходного массива, затем мин; далее макс и мин из оставшихся и так далее PickaBuu Помощь студентам 5 18.12.2017 07:49
Написать программу на Паскале. Заполнить массив случайным образом буквами латинского алфавита и цифрами. Отсортировать массив: сначала гласные, затем цифры, затем согласные. nastyaqwer Помощь студентам 6 04.12.2016 16:34
Упорядочить массив так, чтобы вначале размещались четные цифры в порядке возрастания, а затем нечетные - в порядке убывания Маруся171996 Паскаль, Turbo Pascal, PascalABC.NET 1 22.11.2013 17:42
Найти наименьший отрицательный элемент выше побочной диагонали и наименьший положительный ниже (Pascal) Tifa Помощь студентам 10 28.01.2011 08:23
Дан двумерный массив.Найти наибольший отрицательный элемент выше побочной диагонали и наименьший положите red-white Помощь студентам 1 05.11.2010 09:51