Сортировка через интерфейс IComparer - C#

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

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

Создать массив char

(случайно и от руки). Отсортировать его при помощи Array.Sort так, чтобы вначале были гласные в алфавитном порядке, а после согласные в алфавитном порядке. Пример a, i,e,u, b,c,f,g.... Пожалуйста, помогите

Решение задачи: «Сортировка через интерфейс IComparer»

textual
Листинг программы
  1. using System;
  2. using System.Linq;
  3. using System.Collections.Generic;
  4. class Program
  5. {
  6.  
  7.     public class CharComparer : IComparer<char>
  8.     {
  9.         char []vovels = {'a','e','i', 'o','u'};
  10.         char[] consonants = { 'b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'm', 'n', 'p', 'q', 'r', 's', 't', 'v', 'x', 'z' };
  11.         public int Compare(char a, char b)
  12.         {      
  13.             if (consonants.Contains(a) == true &&
  14.                vovels.Contains(b) == true)
  15.                 return 1;
  16.             if (vovels.Contains(a) == true &&
  17.               consonants.Contains(b) == true)
  18.                 return -1;
  19.             return a.CompareTo(b);
  20.         }
  21.  
  22.     }
  23.     static void Main(string[] args)
  24.     {
  25.         string myString = string.Empty;
  26.         while (myString != "0")
  27.         {
  28.             char[] arr = (myString = Console.ReadLine()).ToCharArray();
  29.             Array.Sort(arr, new CharComparer());
  30.             Console.WriteLine( arr);
  31.         }      
  32.         Console.ReadKey(true);
  33.     }
  34. }

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


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

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

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

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

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

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