0 / 0 / 0
Регистрация: 14.10.2018
Сообщений: 36
1

Упорядочить массив: наименьший элемент, затем наибольший, затем наименьший из оставшихся, затем наибольший и так далее

14.10.2018, 21:17. Показов 1017. Ответов 4

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

Задание: расположить элементы целочисленного массива в следующем порядке. Первым располагается наименьший
элемент, вторым - наибольший, затем наименьший из оставшихся,затем наибольший из оставшихся и т.д.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.10.2018, 21:17
Ответы с готовыми решениями:

Преобразовать одномерный массив в порядке: наименьший, наибольший, наименьший из оставшихся, наибольший из оставшихся
Расположить элементы одномерного массива в порядке: наименьший элемент, наибольший, наименьший из...

Матрица. В каждой строке найти наименьший элемент, затем среди найденных - наибольший
8. В целочисленном двумерном массиве А размером NxN все элементы различны. В каждой строке...

Матрица. В каждой строке найти наименьший элемент, затем среди найденных - наибольший
Дана действительная матрица размера n х m, все элементы которой различны. В каждой строке...

Переписать заданный массив в новый так, чтобы сначала шли положительные, затем отрицательные, затем нулевые элементы.
Всем привет, прошу помочь решить ошибку в коде, задание которого звучит как: Задан массив Z....

4
6 / 5 / 1
Регистрация: 22.01.2016
Сообщений: 100
14.10.2018, 21:52 2
Вот, набросал быстренько. Реализация ужасная, но должна быть рабочей. Если доработать, использовав вначале сортировку массива, то будет в разы грамотней.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
max=a[0];
min=a[0];
k1=999;  // можно приравнять любому числу, которое не может являть номером нашего массива
k2=999;  // можно приравнять любому числу, которое не может являть номером нашего массива
for (int j=0; j<n; j++)
{
    for (int i=0; i<n; i++)
    {
         if ((a[i]<min)&&(a[i]!=999)) {min=a[i]; k1=i;}
         if ((a[i]>max)&&(a[i]!=999)){max=a[i]; k2=i;}       
    }
    b[j]=min; // первый член массива - наименьший элемент
    b[j+1]=max; // следующий член массива - наибольший
    max=a[0];
    min=a[0];
    a[k1]=999; //можно приравнять любому числу, которое не может являть членом нашего массива
    a[k2]=999; ////можно приравнять любому числу, которое не может являть членом нашего массива
}
1
0 / 0 / 0
Регистрация: 14.10.2018
Сообщений: 36
15.10.2018, 12:14  [ТС] 3
Не совсем помогло, сделал изменения и для чётных массивов нормально работает, а вот если нечётный, уже проблемы.
0
6 / 5 / 1
Регистрация: 22.01.2016
Сообщений: 100
15.10.2018, 17:17 4
Megabuzz, странно, наверное что-то
Цитата Сообщение от Megabuzz Посмотреть сообщение
сделал изменения
тут не то сделал, так как в данном мной алгоритме, не имеет значения четность массива.
0
0 / 0 / 0
Регистрация: 14.10.2018
Сообщений: 36
15.10.2018, 22:08  [ТС] 5
Прошу прощения, я перепутал, тут всё хорошо для чётных массивов, только изменив c j++ на j+=2. Я просто пробую реализовать через сортировку и для нечётных массивов.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.10.2018, 22:08
Помогаю со студенческими работами здесь

В каждой строке матрицы найти наибольший элемент, затем получить их сумму
дан массив 1004 0230 2003 0140 Задание: полученный массив напечатать.В каждой строке найти...

Переставить элементы массива так, чтобы сначала располагались все 0, затем 1, затем 2
Общие указания при составлении программ к данной теме: 1. Размер массива задать константой в блоке...

Изменить последовательность так, чтобы в начале стояли все 0, затем отрицательные, а затем положительные элементы
Дана последовательность целых чисел х1,х2,…,хn. Изменить данную последовательность так, чтобы в...

Изменить последовательность так, чтобы в начале стояли все 0, затем отрицательные, а затем положительные элементы
Дана последовательность целых чисел х1,х2,…,хn. Изменить данную последовательность так, чтобы в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru