package com.javarush.task.task08.task0826;
import java.io.BufferedReader;
import java.io.InputStreamReader;
/*
Пять победителей
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int[] array = new int[20];
for (int i = 0; i < array.length; i++) {
array[i] = Integer.parseInt(reader.readLine());
}
sort(array);
System.out.println(array[19]);
System.out.println(array[18]);
System.out.println(array[17]);
System.out.println(array[16]);
System.out.println(array[15]);
}
public static void sort(int[] array) {
//напишите тут ваш код
for (int i = array.length-1; i > 0;i--){
for (int j = 0; j<i; j++){
if (array[j]>array[j+1]){
int tmp = array[j+1];
array[j+1] = array[j];
array[j] = tmp;
}
}
}
}
}
Вообщем путем пузырькового метода все сортируется на ура, но сам метод в массиве на 20 цифр предполагает что на 19 позиции будет максимальное число. при выводе на экран тем не менее выводятся минимальные значения которые указаны в задаче за 0 1 2 3 4 индексами массива. Что не так?alex
10 уровень
как так?
Решен
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Максим
6 апреля 2020, 11:30
Надо в первом for в методе сортировки поменять условие (>=)
0
alex
5 апреля 2020, 13:09
Вообщем Idea глючила
0
alex
5 апреля 2020, 12:37
вот такой ввод в консоль
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
и такой вывод программы
1 2 3 4 5
0