C клавиатуры заполнен массив из 30 элементов. Составьте фрагмент программы для решения следующих задач: 1.Найти количество четных чисел.Для проверки использовать подпрограмму. 2.Найти среднее арифметическое двузначных чисел кратных 3, но не кратных 9. В случае если таких элементов нет вывести на экран -1. 3.Найти наибольшую длину цепочки четных элементов массива. 4. Удалить элемент массива и сдвинуть оставшиеся элементы. Номер удаляемого элемента вводится с клавиатуры. 5.Вывести на экран второй максимум массива
public class Main { public static void main(String[] args) { int[] array = new int[30]; Scanner scanner = new Scanner(System.in);
// Заполнение массива System.out.println("Введите элементы массива:"); for (int i = 0; i < array.length; i++) { array[i] = scanner.nextInt(); } // 1. Найти количество четных чисел int evenCount = countEvenNumbers(array); System.out.println("Количество четных чисел в массиве: " + evenCount); // 2. Найти среднее арифметическое двузначных чисел кратных 3, но не кратных 9 double avg = calculateAverage(array); if (avg == -1) { System.out.println("Двузначных чисел кратных 3, но не кратных 9 в массиве нет"); } else { System.out.println("Среднее арифметическое двузначных чисел кратных 3, но не кратных 9: " + avg); } // 3. Найти наибольшую длину цепочки четных элементов массива int maxChainLength = findMaxChainLength(array); System.out.println("Наибольшая длина цепочки четных элементов: " + maxChainLength); // 4. Удалить элемент массива и сдвинуть оставшиеся элементы System.out.println("Введите номер элемента для удаления:"); int indexToDelete = scanner.nextInt(); removeAndShift(array, indexToDelete); // 5. Вывести на экран второй максимум массива int secondMax = findSecondMax(array); System.out.println("Второй максимум массива: " + secondMax); } public static int countEvenNumbers(int[] array) { int count = 0; for (int num : array) { if (num % 2 == 0) { count++; } } return count; } public static double calculateAverage(int[] array) { int sum = 0; int count = 0; for (int num : array) { if (num >= 10 && num < 100 && num % 3 == 0 && num % 9 != 0) { sum += num; count++; } } if (count == 0) { return -1; } return (double) sum / count; } public static int findMaxChainLength(int[] array) { int maxChainLength = 0; int currentChainLength = 0; for (int num : array) { if (num % 2 == 0) { currentChainLength++; } else { if (currentChainLength > maxChainLength) { maxChainLength = currentChainLength; } currentChainLength = 0; } } return maxChainLength; } public static void removeAndShift(int[] array, int index) { if (index < 0 || index >= array.length) { System.out.println("Некорректный индекс для удаления элемента."); return; } for (int i = index; i < array.length - 1; i++) { array[i] = array[i + 1]; } array[array.length - 1] = 0; } public static int findSecondMax(int[] array) { int max1 = Integer.MIN_VALUE; int max2 = Integer.MIN_VALUE; for (int num : array) { if (num > max1) { max2 = max1; max1 = num; } else if (num > max2 && num < max1) { max2 = num; } } return max2; }
import java.util.Scanner;
public class Main {
// Заполнение массиваpublic static void main(String[] args) {
int[] array = new int[30];
Scanner scanner = new Scanner(System.in);
System.out.println("Введите элементы массива:");
for (int i = 0; i < array.length; i++) {
array[i] = scanner.nextInt();
}
// 1. Найти количество четных чисел
int evenCount = countEvenNumbers(array);
System.out.println("Количество четных чисел в массиве: " + evenCount);
// 2. Найти среднее арифметическое двузначных чисел кратных 3, но не кратных 9
double avg = calculateAverage(array);
if (avg == -1) {
System.out.println("Двузначных чисел кратных 3, но не кратных 9 в массиве нет");
} else {
System.out.println("Среднее арифметическое двузначных чисел кратных 3, но не кратных 9: " + avg);
}
// 3. Найти наибольшую длину цепочки четных элементов массива
int maxChainLength = findMaxChainLength(array);
System.out.println("Наибольшая длина цепочки четных элементов: " + maxChainLength);
// 4. Удалить элемент массива и сдвинуть оставшиеся элементы
System.out.println("Введите номер элемента для удаления:");
int indexToDelete = scanner.nextInt();
removeAndShift(array, indexToDelete);
// 5. Вывести на экран второй максимум массива
int secondMax = findSecondMax(array);
System.out.println("Второй максимум массива: " + secondMax);
}
public static int countEvenNumbers(int[] array) {
int count = 0;
for (int num : array) {
if (num % 2 == 0) {
count++;
}
}
return count;
}
public static double calculateAverage(int[] array) {
int sum = 0;
int count = 0;
for (int num : array) {
if (num >= 10 && num < 100 && num % 3 == 0 && num % 9 != 0) {
sum += num;
count++;
}
}
if (count == 0) {
return -1;
}
return (double) sum / count;
}
public static int findMaxChainLength(int[] array) {
int maxChainLength = 0;
int currentChainLength = 0;
for (int num : array) {
if (num % 2 == 0) {
currentChainLength++;
} else {
if (currentChainLength > maxChainLength) {
maxChainLength = currentChainLength;
}
currentChainLength = 0;
}
}
return maxChainLength;
}
public static void removeAndShift(int[] array, int index) {
if (index < 0 || index >= array.length) {
System.out.println("Некорректный индекс для удаления элемента.");
return;
}
for (int i = index; i < array.length - 1; i++) {
array[i] = array[i + 1];
}
array[array.length - 1] = 0;
}
public static int findSecondMax(int[] array) {
int max1 = Integer.MIN_VALUE;
int max2 = Integer.MIN_VALUE;
for (int num : array) {
if (num > max1) {
max2 = max1;
max1 = num;
} else if (num > max2 && num < max1) {
max2 = num;
}
}
return max2;
}
}