Определить самое большое кол-во подряд идущих 1 и вывести индексы начала и конца этого диапазона - C#

Узнай цену своей работы

Формулировка задачи:

Дан массив, состоящий из 0 и 1. определить самое большое кол-во подряд идущих 1 и вывести индексы начала и конца этого диапазона. помогите написать условия, продолжение программы. Как найти наибольший диапазон?

Решение задачи: «Определить самое большое кол-во подряд идущих 1 и вывести индексы начала и конца этого диапазона»

textual
Листинг программы
int p = 10;
int[] M = new int[p];
Random R = new Random();
for (int i = 0; i < p; i++)
    Console.Write(M[i] = R.Next(2));
 
int left = 0, count = 0, l = 0, c = 0;
for (int i = 0; i <= p; i++)
{
    // Если встретили ноль, то обрываем последовательность
    if (i == p || M[i] == 0)
    {
        if (c > count)
        {
            count = c;
            left = l;
        }
        l = i + 1;
        c = 0;
    }
    else c++;
}
 
Console.WriteLine();
Console.WriteLine(count == 0 ? "нет единиц" :
    $"максимум {count} на {left}..{left + count - 1}");
Console.ReadLine();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.214 из 5
Похожие ответы