• Предмет: Информатика
  • Автор: n7337537
  • Вопрос задан 4 месяца назад

JAVA
Создать массив из 20 случайных чисел в диапазоне от -9 до 20. Определить подряд идущие положительные значения, не прерываемых нулями и отрицательными числами. Вывести на консоль исходный массив чисел и найденный фрагмент (числа через пробел).

Пример :

1, 2, -1, 7, 3, 11, 0, -2, 15



Есть три блока подряд идущих чисел не прерываемых отрицательными числами или нолем.

1,2

7,3,11 (самый длинный)

15



Результат:

7,3,11


iramazurk: А это я тебе и писала
iramazurk: Сейчас посмотрю все твои ответы, посмотрю интервал
1h36u: Я быстро делаю
1h36u: тем более у меня интернет задержка
iramazurk: И отправлю жалобу на твой аккаунт
1h36u: Возможно прерывания отправляют вместе все ответы
iramazurk: да да, конечно сам
iramazurk: таких как ты, которые так быстро делают, удаляют в день десятками
1h36u: не пиши если не знаешь.
1h36u: Чат гпт не использую

Ответы

Ответ дал: 1h36u
0

Ответ:

import java.util.Random;

public class LongestPositiveSubsequence {

public static void main(String[] args) {

int[] array = new int[20];

Random rand = new Random();

for (int i = 0; i < array.length; i++) {

array[i] = rand.nextInt(30) - 9;

}

System.out.print("Array: ");

for (int num : array) {

System.out.print(num + " ");

}

System.out.println();

int start = 0;

int end = 0;

int maxStart = 0;

int maxEnd = 0;

for (int i = 0; i < array.length; i++) {

if (array[i] > 0) {

end = i;

if (end - start > maxEnd - maxStart) {

maxStart = start;

maxEnd = end;

}

} else {

start = i + 1;

end = i + 1;

}

}

System.out.print("Longest positive subsequence: ");

for (int i = maxStart; i <= maxEnd; i++) {

System.out.print(array[i] + " ");

}

}

}

Вас заинтересует