Найти минимальное значение
Никак не могу правильно найти четное минимальное число и вывести ошибку, если такого числа нет. Еще min изначально должен приравниваться к заведомо несуществующему значению индекса. Помогите пожалуйста !
min = 0;
for (int i = 1; i < N; i++) {
if (x[i] % 2 == 0) {
if ((x[min] % 2 != 0) || (x[i] < x[min])) {
min = i;
}
}
}
if (x[min] < min) {
System.out.printf("Минимального четного значения нет\n");
}
else {
System.out.printf("Минимальное четное значение: x(%d)= %1.2f\n", min, x[min]);
}
Ответы (2 шт):
Автор решения: Igor
→ Ссылка
min = -1;
for (int i = 0; i < N; i++) {
if (x[i] % 2 == 0 && (min == -1 || x[i] < x[min]))
min = i;
}
if (min == -1)
System.out.printf("Минимального четного значения нет\n");
else
System.out.printf("Минимальное четное значение: x(%d)= %1.2f\n", min, x[min]);
Автор решения: AlekseiGaile
→ Ссылка
public class Main {
public static void main(String[] args) {
int[] i = new int[]{1, 3, 5, 18, 7, 9, 11, 24, 14};
System.out.println(minValue(i));
}
public static int minValue(int[] massive) {
int minimum = Integer.MAX_VALUE;
if (massive == null || massive.length == 0) {
return minimum;
}
for (int j : massive) {
if (j % 2 == 0) {
minimum = Math.min(minimum, j);
}
}
return minimum;
}
}