Найти количество участков массива, на которых его элементы монотонно убывают - 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);
    }
}

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


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

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

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