Тесты и практика Java Работа с массивами
Java

Java - практика

Сложность: Всего: 137 заданий
Уроки Java для начинающих
Комментарии (3)
Добавить комментарий

Alexander 10 февраля 2023 в 23:23

Сортировка. К сожелению Ваш код по решению задачи не дал желаемого результата( как только не пробовал, потратил уйму времени ) .Конечно не сам ( решение подсмотрел , только то что касается самого метода "Пузырька" ) , но этот код четко работает , приведу часть программы , касающийся метода и вывода на экран :
int temp;
for ( i = n - 1; i >= 1; i--) {
for (int j = 0; j < i; j++) {
if (sor[j] > sor[j + 1]) {
// меняем элементы местами
temp = sor[j];
sor[j] = sor[j + 1];
sor[j + 1] = temp;
}

}
}
if (sor[i] < n){
for (i = 0; i < sor.length; i++) {
System.out.print(" : " + sor[i]);


}
}
}
}
а так же тест с размером массива n = 7 :
Enter size n :7
Enter numbers mas :-1
Enter numbers mas :3
Enter numbers mas :-3
Enter numbers mas :0
Enter numbers mas :2
Enter numbers mas :-10
Enter numbers mas :4
: -10 : -3 : -1 : 0 : 2 : 3 : 4
Ответить

Alexander 10 февраля 2023 в 04:02

Согласен . Коммент от 28.11.2022. от Станислава. Решение не верное. Притянутый метод Arrays сам по себе дает ответ - какое число меньше, какое больше. Так же -int min = arr[0], sec_min = arr[0]; - не прибавляет интузиазма, а этот оператор - if (arr[i] > min) тоже ни о чем. Если я не нарушаю каких-то правил сайта , то я сделал так:

public class min2 //Два минимума
{
public static void main(String[] args) {
int[] array = {24, -63, 67, -12, 88, 94, -28, 82, 0, 53};
int min = 0,min2 = 0;
for (int i = 0; i < array.length; i++)
{ if (min > array[i]) {
min = array[i];//Первый min
}
}

for (int i = 0; i < array.length; i++) {
if ( min2 > array[i] && array[i] != min) {
min2 = array[i];//Второй min

}
}
System.out.print(" First min :" + min + " Second min :" + min2);



}
}

Ответить

Станислав 28 ноября 2022 в 07:48

Здравствуйте. В задание про почти минимальное значение не верное решение. Минимальное значение в массиве нашли и сравниваем его со вторым минимальным(значение которого не было изменено, а осталось установленным как нулевое значение...) По мне конечно проще отсортировать массив и взять 1ый элемент) конечно проще не всегда значит лучше)
Ответить