Как вывести количество отрицательных подмассивов из заданного массива ?
постановка задачи:
Учитывая массив из n целых чисел, найдите и выведите его число отрицательных подмассивов на новой строке.(Подмассив отрицателен, если общая сумма его элементов отрицательна.)
Пример Ввода
5
1 -2 4 -5 1
Пример Вывода
9
Мой код выкинул ранее (до редактирования)
Цитата:Исключение в потоке "основной" Java для.яз.ArrayIndexOutOfBoundsException: 5
на решение.основными(решение.Ява:22)
Настоящий вывод для кода после редактирования таков.
Цитата:Вход (stdin)
5
1 -2 4 -5 1
Ваш вывод (stdout)
7
Ожидаемый Результат
9
Сообщение Компилятора
неправильный ответ
Где я ошибаюсь ?
Это мой код
ПОСЛЕ РЕДАКТИРОВАНИЯ
import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class Solution { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int n = scan.nextInt(); int a[] = new int[n]; int b[] = new int[n]; int count=0; int i,j,sum = 0; for(i=0;i<n;i++) { a[i] = scan.nextInt(); } for(i=0;i<n;i++) { if(a[i]<0){count++;} } for(i=0;i<n;i++) { for(j=0;j<n;j++) { sum = a[i] + sum; b[j] = sum; } } for(j=0;j<n;j++) { if(b[j]<0){count++;} } System.out.println(count); } }
[no name]
"Где я ошибаюсь", вы ошибаетесь, пытаясь получить доступ к элементу массива, который не существует.
GaneshRfromSpace
Да, это была грубая ошибка с моей стороны. Извиняюсь. Теперь я отредактировал запрос.