
Дан список вещественных чисел. Для каждого элемента списка напечатать число отрицательных
элементов, следующих за ним. ИЛИ после него - попробуйте две функции реализовать Java

Ответы на вопрос

Ответ:
public class Main
{
public static void main(String[] args) {
float[] myArray = {-1,2,4,5,-7,5,-2,1,4,-2};
for(int i=0; i<myArray.length; i++)
{
beforeItems(myArray,i,myArray.length);
afterItems(myArray,i,myArray.length);
}
}
public static void beforeItems(float a[], int position, int lenght)
{
int sum = 0;
if (position != 0)
{
for(int i=position-1; i>=0; i--)
{
if (a[i]<0)
{
sum++;
}
}
}
position++;
System.out.println("колличество отрицательных элементов до элемента №:" + position + " = " + sum);
}
public static void afterItems(float a[], int position, int lenght)
{
int sum = 0;
if(position != lenght-1)
{
for(int i=position+1; i<lenght; i++)
{
if (a[i]<0)
{
sum++;
}
}
}
position++;
System.out.println("колличество отрицательных элементов после элемента №:" + position + " = " + sum);
}
}
Объяснение:




Вот две возможные реализации данной задачи на Java:
- Решение с помощью цикла:
javapublic static void printNegativeCounts(double[] arr) {
int n = arr.length;
for (int i = 0; i < n - 1; i++) {
int count = 0;
if (arr[i] < 0) {
for (int j = i + 1; j < n; j++) {
if (arr[j] < 0) {
count++;
}
}
}
System.out.println("Для элемента " + arr[i] + " количество отрицательных элементов, следующих за ним: " + count);
}
}
- Решение с использованием стримов (начиная с Java 8):
javaimport java.util.stream.IntStream;
public static void printNegativeCounts(double[] arr) {
IntStream.range(0, arr.length - 1)
.forEach(i -> {
int count = (arr[i] < 0) ? (int) IntStream.range(i + 1, arr.length)
.filter(j -> arr[j] < 0)
.count()
: 0;
System.out.println("Для элемента " + arr[i] + " количество отрицательных элементов, следующих за ним: " + count);
});
}
Оба этих метода принимают вещественный массив и выводят на экран количество отрицательных элементов, следующих за каждым элементом списка, кроме последнего. Вы можете выбрать тот, который вам больше нравится или лучше соответствует вашим требованиям.


Похожие вопросы


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili