Является ли интервалом объединение заданных интервалов? - C#
Формулировка задачи:
Даны действительные числа 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."); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д