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 < 20; i++) {
array[i] = Integer.parseInt(reader.readLine());
}
sort(array);
for (int x : array) {
System.out.println(x);
}
}
public static void sort(int[] array) {
for (int i =0; i<20; i++)
{
if (array.get(i)>array.get(i+1))
array[i+1]==array[i];//напишите тут ваш код
}
}
}Artur Navasardyan
8 уровень
Друзья а почему так нельзя
Обсуждается
Комментарии (8)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Andrey
9 июля 2018, 10:25
У тебя есть два кармана - в одном мелочь, в другом бумажные деньги. Надо из одного кармана, переложить в другой, при этом не перемешав. Для этого можно содержимое первого кармана выложить на стол, переложить из второго в первый и потом со стола во второй. Приблизительно так это работает.
0
Artur Navasardyan
9 июля 2018, 10:50
так сильно неправильно?
public static void sort(int[] array) {
for (int i =0; i<20; i++)
{
if (array.get(i)>array.get(i+1))
for (int j=0; j<20; j++)
arrayy [j]==array[i+1];
else
arrayy[j]==array[i];//напишите тут ваш код
}
0
Andrey
9 июля 2018, 11:16
Сильно.
Доступ к элементам массива идет через array[], а не через array.get().
Имя массива должно быть одинаковым - в одном месте у тебя array в другом arrayy
== это сравнение, а не присвоение. Нужно использовать =.
Логика работы программы неверна. Почитай "пузырьковая сортировка"
0
Artur Navasardyan
10 июля 2018, 06:15
public static void sort(int[] array) {
for (int i =0; i<20; i++)
{
if (array[i]<array[i+1])
int a=array[i];
array [i]=array[i+1];
array[i+1]=a;
//напишите тут ваш код
}
а вот тут не понимаю где ошибка
0
Артем DivertittoSenior Android-разработчи в United TechMaster
10 июля 2018, 10:08
Скобок нет после if. Из за этого область действия условия распостраняется только на
int a=array[i];
0
Артем DivertittoSenior Android-разработчи в United TechMaster
10 июля 2018, 14:45
И к тому еще будет выход за пределы массива.
Когда i = 19. В этом месте ты будешь пытаться обратится к 20-му элементу, которого нет
0
Анар Ахундов
9 июля 2018, 09:24
Ну во первых метод get() используется у списков, а не у массивов. У массивов просто обращение по индексу. Во-вторых array[i+1]==array[i]; тут ты теряешь значение, которое было у тебя в i+1 позиции. Надо сначала его сохранить во временную переменную.
Создаешь переменную, закидываешь туда значение из одного индекса. В этот индекс закидываешь значение из второго индекса. Во второй индекс закидываешь значение из переменной. Это операция обмена значений для двух индексов.
0
Artur Navasardyan
9 июля 2018, 10:21
спасибо
0