Найти наибольшее количество идущих подряд элементов одного знака - C# (181131)
Формулировка задачи:
дан целочисленный массив из n элементов элементы массива могут принимать целые значения от - 20 до 20, отличные от 0. найдите наибольшее количество идущих подряд элементов одного знака
Решение задачи: «Найти наибольшее количество идущих подряд элементов одного знака»
textual
Листинг программы
using System;
class Program
{
static void Main()
{
int n = 10;
int[] array = new int[n];
Random r = new Random();
for (int i = 0; i < n; i++ )
{
do
{
array[i] = r.Next(-20, 21);
} while (array[i] == 0);
Console.Write(array[i] + " ");
}
bool sign = array[0] < 0 ? false : true;
int cur = 0, max = 1;
foreach(int i in array)
{
if ((i > 0 && sign) || (i < 0 && !sign))
cur++;
else
{
max = cur > max ? cur : max;
cur = 1;
sign = !sign;
}
}
Console.WriteLine("\n" + max);
Console.ReadKey();
}
}