Найти самую длинную последовательность 0 в массиве[C++]
Решал задачу по следующему алгоритму. Имеем максимальный и текущую переменную. Перебираем массив, если найден элемент = 0; то увеличиваем значение счетчика на единицу. Иначе, если текущая последовательность больше максимально, то присваиваем максимальную текущей. И обнуляем счетчик. Программа мне просто выводит количество элементов с 0. Что я сделал не так.
#include <iostream>
using namespace std;
int main()
{
const int size = 11;
int arr[size] = {100, 1, 0, 36, 0000, 74, 00, 666, 32, 000000, 17};
int temp = 0;
int max = 0;
for (int i = 0; i < size; ++i)
{
if(arr[i] == 0)
{
++temp;
}
else
{
if(temp > max)
{
max = temp;
}
}
}
cout << "Max is :" << max << endl;
return 0;
}
Источник: Stack Overflow на русском