Найти количество подряд идущих единиц в строке - C#

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

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

     string str = "100001111";
 
            int c = 0;
            int res = 0;
 
            for (int i = 0; i < str.Length-1; i++)
            {
                if (str[i] == '1' && str[i + 1] == '1')
                {
                    c++;
                    res = c;
                }
 
                else
                {
                    res = 1;
                }

            }
 
            Console.WriteLine(res);
Мой код. Но работает немного не так , сейчас выдаёт 3 . Это из-за того , что не считает последний символ . Как это исправить?

Решение задачи: «Найти количество подряд идущих единиц в строке»

textual
Листинг программы
 string str = "10011001111";
             int c = 0; int res = 0;
 
            for (int i = 0; i < str.Length; i++)
            {
                if (str[i] == '1') c++;
                if (str[i] != '1' || i==str.Length-1) { if (c > res) res = c; c = 0; }
            }
            Console.WriteLine(res);
            Console.ReadKey();

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


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

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

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