Страницы

Поиск по вопросам

суббота, 23 марта 2019 г.

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

Нужно подсчитать максимальное количество отрицательных элементов идущих подряд. Что-то не могу понять как сделать правильно. На данный момент считает просто все отрицательные элементы.
#include #include using namespace std;
void main() { setlocale(LC_ALL, "ukr"); srand(time(NULL)); const int n = 15; bool change = true; int arr[n], m = 0;
for (int i = 0; i < n; i++) { arr[i] = rand() % 10 - 5; cout << arr[i] << " "; } cout << endl; int maxcount = 0; for (int i = 0; i < n; i++) { int count = 0; if (arr[i] < 0) { for (int j = i; j < n; j++) { if (arr[j] < 0) { count++; if (count > maxcount) { maxcount = count; } cout << count << " "; } } } } cout << endl << maxcount << endl; }


Ответ

for (int j = i; j < n; j++) { if (arr[j] < 0) { count++; if (count > maxcount) { maxcount = count; }
}else{ count = 0; //cбрасывать значение count кто будет? } }
пробный запуск:
-3 -5 -4 3 4 -5 1 0 -3 -1 -1 -2 -5 -5 0
6

Комментариев нет:

Отправить комментарий