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

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

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

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

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

textual
Листинг программы
  1. using System;
  2.  
  3. namespace FirtsApp
  4. {
  5.     class Program
  6.     {
  7.         class Interval: IComparable
  8.         {
  9.             public int Begin { get; set; }
  10.             public int End { get; set; }
  11.  
  12.             public int CompareTo(object obj)
  13.             {
  14.                 return Begin.CompareTo(((Interval)obj).Begin);
  15.             }
  16.         }
  17.  
  18.  
  19.         static void Main()
  20.         {
  21.             int[] arr = { -1, 2, -2, 0, 4, 8, 2, 3, 1, 5 };
  22.             Interval[] intervals = new Interval[arr.Length / 2];
  23.  
  24.             for (int i = 0; i < arr.Length; i+=2)
  25.                 intervals[i / 2] = new Interval { Begin = arr[i], End = arr[i + 1] };
  26.  
  27.             Array.Sort(intervals);
  28.  
  29.             int bigestEnd = intervals[0].End;
  30.             bool continuous = true;
  31.             for (int i = 1; i < intervals.Length; ++i)
  32.             {
  33.                 if (bigestEnd < intervals[i].Begin)
  34.                 {
  35.                     continuous = false;
  36.                     break;
  37.                 }
  38.                 if (bigestEnd < intervals[i].End)
  39.                     bigestEnd = intervals[i].End;
  40.             }
  41.  
  42.             if (continuous)
  43.                 Console.WriteLine("Continuous interval. Left border: {0}, right boder: {1}.",
  44.                     intervals[0].Begin, bigestEnd);
  45.             else
  46.                 Console.WriteLine("Discontinued.");
  47.  
  48.         }
  49.  
  50.        
  51.     }
  52.  
  53. }

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


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

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

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

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

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

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