Является ли интервалом объединение интервалов - C#

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

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

2. Даны действительные числа a1, a2, ... , a2n. Эти точки определяют n интервалов числовой оси (a1, a2), (a3, a4), ..., (a2n-1, a2n). Является ли интервалом объединение этих интервалов? Если да, то указать концы этого интервала. Прошу объяснений,ибо не понимаю как определить заданные требования.

Решение задачи: «Является ли интервалом объединение интервалов»

textual
Листинг программы
using System;
 
namespace FirtsApp
{
    class Program
    {
        class Interval: IComparable
        {
            public int Begin { get; set; }
            public int End { get; set; }
 
            public int CompareTo(object obj)
            {
                return Begin.CompareTo(((Interval)obj).Begin);
            }
        }
 
 
        static void Main()
        {
            int[] arr = { -1, 2, -2, 0, 4, 8, 2, 3, 1, 5 };
            Interval[] intervals = new Interval[arr.Length / 2];
 
            for (int i = 0; i < arr.Length; i+=2)
                intervals[i / 2] = new Interval { Begin = arr[i], End = arr[i + 1] };
 
            Array.Sort(intervals);
 
            int bigestEnd = intervals[0].End;
            bool continuous = true;
            for (int i = 1; i < intervals.Length; ++i)
            {
                if (bigestEnd < intervals[i].Begin)
                {
                    continuous = false;
                    break;
                }
                if (bigestEnd < intervals[i].End)
                    bigestEnd = intervals[i].End;
            }
 
            if (continuous)
                Console.WriteLine("Continuous interval. Left border: {0}, right boder: {1}.",
                    intervals[0].Begin, bigestEnd);
            else
                Console.WriteLine("Discontinued.");
 
        }
 
        
    }
 
}

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


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

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

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