Алгоритм сортировки имеет ошибку, помогите устранить.

компьютеры программирование алгоритм сортировка алгоритм сортировки

Тут такое дело... Есть определенный (для этого случая) массив значения интеджер.Эти числа находятся в массиве startSong[i].
162
973
255
152
793
134
344
265
182
516
Был написан алгоритм сортировки, который должен отсортировать от большего к меньшему - значения массива первого...

for (i1 = 0; i1 < 10; i1++) { /* внешний цикл в котором прокручиваются элементы массива в который будут записаны элементы из другого массива*/
for (i = 0; i < 10; i++) { /* внутренний цикл в котором прокручиваются элементы массива значений, которые нужно отсортировать в другом массиве .*/
if (startSong[i] > maxSortStart && maxSortStart < maxUp) { // изначально maxUp присвоенно значение 1000000000, а maxSortStart = нулю*/
maxSortStart = startSong[i];
}
}
maxUp = maxSortStart; // maxUp я сделал чтобы он служил в качестве предела значений, чтобы с каждым разом выбирался не самый большой, а тот который будет меньше предыдущего...

a2[i1] = maxSortStart;
System.out.println(a2[i1]); // и сообственно запись в массивы и сразу же выведение данных
}

Однако выводит одно и тоже значение:
973
973
973
...
...
...
973


Подскажите в чем причина, где ошибка? (з.ы.: менять принцип действия алгоритма не стоит, так как от него зависит запуск далеко не малой части остального кода программы).

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

Примечание:
а да это JAVA - забыл сказать.

Примечание:
PetSerAl - спасибо большое) Спустя пары дней непрерывного написания кода мозг перегревается (так как не был подготовлен всякими курсами перед 1 курсом универа). В начале думал по поводу 1-го пункта что не имеет значение.
По поводу совпадающих я думал что они вряд ли попадут, но чем черт не шутит с рэндомом. А вот на счет 2-го действительно проглядел так как алгоритм составлял в маршутке. А потом и что в той же маршутке, и что дома его писал, одновременно с тем как записывал некоторые другие классы, и алгоритмы. И тока в этом алгоритме просчитался так глупо :) Спасибо.
Ответы:
Зачем изобретать велосипед?
И правда, если это java юзай Collections.sort или Arrays.sort. В твоем коде ошибка на ошибке. Ты уж прости.
int b = 0;
for(int i = 0, i <startSong.length-1, i++)
    for(int j = i+, j <startSong.length-1, j++)
           if(startSong[i] < startSong[j]){
                     b = startSong[i];
                     startSong[i] = startSong[j];
                     startSong[j] = b;
           }
Вот алгоритм сортировки, вывод нужно организовать в отдельно м цикле
1) 'if (startSong[i] > maxSortStart && maxSortStart < maxUp)', наверное имеллось ввиду 'if (startSong[i] > maxSortStart && startSong[i] < maxUp)'.
2) Не обнуляется maxSortStart, поэтому при повторном входе в цикл 'for (i = 0; i < 10; i++)' maxSortStart равен максимальному элементу.
3) Непонятно, как Вы собираетесь обрабатывать совподающие элементы во входном массиве.
RE: ну покажите ошибки, у меня просто оно было записано для того чтобы потом запустить в той программе что есть...
maxSortStart = startSong[i];
Здесь ты во всех итерациях внешнего цикла присваиваешь 973.
  maxUp = maxSortStart;
И здесь тоже.
По-этому везде 973.
У тебя алгоритм принципиально написан не правильно.


16 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.