#java #массивы
Задание такое: "Создать консольное приложение, которое принимало бы на вход ряд чисел и выводило расстояние между двумя наименьшими. Например, дано ряд чисел: "23 45 34 12 45 4 38 56 2 49 100". Наименьшие числа в нем 2 и 4. Расстояние между ними - 3 (имеется ввиду разница между индексами по модулю)" public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println("Enter random numbers:"); int size = scan.nextInt(); int[] mas = new int[size]; for (int i = 0; i < size; i++) { mas[i] = scan.nextInt(); } int indexOfMax = mas[0]; int indexOfMin = mas[0]; for (int i = 0; i < mas.length; i++) { if(mas[i] > indexOfMax) indexOfMax = mas[i]; if(mas[i]Ответы
Ответ 1
public static void main(String[] args) { int[] mas = {23, 45, 34, 12, 45, 4, 38, 56, 2, 49, 100}; int min1 = Integer.MAX_VALUE; int min2 = Integer.MAX_VALUE; int index1 = 0; int index2 = 0; for (int i = 0; i < mas.length; i++) { if( mas[i] < min1) { min2 = min1; min1 = mas[i]; index2 = index1; index1 = i; } else if (mas[i] < min2) { min2 = mas[i]; index2 = i; } } System.out.println(Math.abs(index1 - index2)); }
Комментариев нет:
Отправить комментарий