Найти количество участков массива, на которых его элементы монотонно убывают - C#

Узнай цену своей работы

Формулировка задачи:

Дано целое число N. Задать N элементов одномерного массива. Найти количество участков, на которых его элементы монотонно убывают.

Решение задачи: «Найти количество участков массива, на которых его элементы монотонно убывают»

textual
Листинг программы
  1. using System;
  2. using System.Linq;
  3.  
  4. class Program
  5. {
  6.     static void Main()
  7.     {
  8.         int n = Int32.Parse(Console.ReadLine());
  9.         int[] arr = Enumerable.Repeat(new Random(), n).Select(r => r.Next(100)).ToArray();
  10.         Console.WriteLine(String.Join(", ", arr));
  11.         int state = 0;
  12.         int count = 0;
  13.         for (int i = 1; i < arr.Length; i++)
  14.         {
  15.             bool descending = arr[i] < arr[i - 1];
  16.             switch (state)
  17.             {
  18.                 case 0:
  19.                     if (descending)
  20.                     {
  21.                         state = 1;
  22.                         count++;
  23.                     }
  24.                     break;
  25.                 case 1:
  26.                     state = descending ? 2 : 0;
  27.                     break;
  28.                 default:
  29.                     if (!descending) state = 0;
  30.                     break;
  31.             }
  32.         }
  33.         Console.WriteLine(count);
  34.     }
  35. }

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


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

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

15   голосов , оценка 3.933 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы