Программирование на JAVA ,Помогите решить задачу
В одномерном массиве, состоящим из n вещественных элементов,
вычислить: Количество элементов массива, меньших С;Сумму
целых частей элементов массива, расположенных после последнего
отрицательного элемента.Преобразовать массив таким образом,
чтобы сначала располагались все элементы, отличающиеся от
максимального не более чем на 20%, а потом – все остальные

5 Мая 2019 в 19:45
265 +1
0
Ответы
1

import java.util.Arrays;

public class Main {

public static void main(String[] args) {
double[] array = {1.2, -3.5, 5.8, 6.4, -2.9, 8.1, 2.7, -4.3};
double c = 4.0;
// Находим количество элементов массива, меньших C
int count = 0;
for (double num : array) {
if (num < c) {
count++;
}
}
System.out.println("Количество элементов массива, меньших C: " + count);
// Находим сумму целых частей элементов массива, расположенных после последнего отрицательного элемента
int sum = 0;
boolean foundNegative = false;
for (int i = array.length - 1; i >= 0; i--) {
if (foundNegative) {
sum += (int) array[i];
} else if (array[i] < 0) {
foundNegative = true;
}
}
System.out.println("Сумма целых частей элементов массива после последнего отрицательного элемента: " + sum);
// Преобразовываем массив
Arrays.sort(array);
double max = array[array.length - 1];
int separator = (int) (0.2 * max);
int i = 0;
int j = array.length - 1;
double[] newArray = new double[array.length];
for (double num : array) {
if (num <= max - separator) {
newArray[i++] = num;
} else {
newArray[j--] = num;
}
}
System.out.println("Исходный массив: " + Arrays.toString(array));
System.out.println("Преобразованный массив: " + Arrays.toString(newArray));
}

}

28 Мая 2024 в 16:50
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир