Если невозможно упорядочить векторы, вывести сообщение "Вектора несравнимы" - C#

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

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

даны булевы вектора а и b длины n. Если возможно упорядочить их, или вывести сообщение "Вектора несравнимы

Решение задачи: «Если невозможно упорядочить векторы, вывести сообщение "Вектора несравнимы"»

textual
Листинг программы
  1. public static class report
  2.     {
  3.         [STAThread]
  4.         public static void Main()
  5.         {
  6.             BitArray a = new BitArray(new bool[] {true, true, true, false});
  7.             BitArray b = new BitArray(new bool[] {true, true, true, true});
  8.             Console.WriteLine(a.CompareTo(b));
  9.             Console.WriteLine(b.CompareTo(a));
  10.             Console.ReadKey();
  11.         }
  12.  
  13.         /// <summary>Сравнивает два булевых массива</summary>
  14.         /// <returns>
  15.         /// 1, если массив a больше b
  16.         /// 0, если массив а равен b
  17.         /// -1, если массив а меньше b
  18.         /// null, если массивы не сравнимы
  19.         /// </returns>
  20.         public static int? CompareTo(this BitArray a, BitArray b)
  21.         {
  22.             if (a.Length != b.Length)
  23.                 return null;
  24.  
  25.             bool aGreat = false;
  26.             bool bGreat = false;
  27.             for (int i = 0; i < a.Length; i++)
  28.             {
  29.                 if (a[i] && !b[i])
  30.                     aGreat = true;
  31.                 if (b[i] && !a[i])
  32.                     bGreat = true;
  33.             }
  34.             if (aGreat && !bGreat)
  35.                 return 1;
  36.             if (bGreat && !aGreat)
  37.                 return -1;
  38.             if (!aGreat && !bGreat)
  39.                 return 0;
  40.             return null;
  41.         }
  42.     }

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


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

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

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

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

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

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