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