Найти количество участков массива, на которых его элементы монотонно убывают - C#
Формулировка задачи:
Дано целое число N. Задать N элементов одномерного массива. Найти количество
участков, на которых его элементы монотонно убывают.
Решение задачи: «Найти количество участков массива, на которых его элементы монотонно убывают»
textual
Листинг программы
using System;
using System.Linq;
class Program
{
static void Main()
{
int n = Int32.Parse(Console.ReadLine());
int[] arr = Enumerable.Repeat(new Random(), n).Select(r => r.Next(100)).ToArray();
Console.WriteLine(String.Join(", ", arr));
int state = 0;
int count = 0;
for (int i = 1; i < arr.Length; i++)
{
bool descending = arr[i] < arr[i - 1];
switch (state)
{
case 0:
if (descending)
{
state = 1;
count++;
}
break;
case 1:
state = descending ? 2 : 0;
break;
default:
if (!descending) state = 0;
break;
}
}
Console.WriteLine(count);
}
}