Найти наибольшее количество идущих подряд элементов одного знака - C# (180879)
Формулировка задачи:
Дан целочисленный массив из n элементов. Элементы массива могут принимать целые значения
от – 20 до 20, отличные от 0. Найдите наибольшее количество идущих подряд элементов одного
знака.
Решение задачи: «Найти наибольшее количество идущих подряд элементов одного знака»
textual
Листинг программы
using System; using System.Linq; class Program { static void Main() { int[] arr = Enumerable.Repeat(new Random(), 50) .Select(r => { int n = r.Next(-20, 20); return n == 0 ? 20 : n; }) .ToArray(); Console.WriteLine(String.Join(", ", arr)); int maxLength = 0; int curLength = 0; int prevSign = 2; // impossible value for (int i = 0; i < arr.Length; i++) { int curSign = Math.Sign(arr[i]); if (curSign == prevSign) { curLength++; maxLength = Math.Max(maxLength, curLength); } else { curLength = 1; } prevSign = curSign; } Console.WriteLine(maxLength); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д