Найти наибольшее количество идущих подряд элементов одного знака - 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);
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д