Сортировка через интерфейс IComparer - C#
Формулировка задачи:
Создать массив char
(случайно и от руки). Отсортировать его при помощи Array.Sort так, чтобы вначале были гласные в алфавитном порядке, а после согласные в алфавитном порядке. Пример a, i,e,u, b,c,f,g.... Пожалуйста, помогитеРешение задачи: «Сортировка через интерфейс IComparer»
textual
Листинг программы
using System; using System.Linq; using System.Collections.Generic; class Program { public class CharComparer : IComparer<char> { char []vovels = {'a','e','i', 'o','u'}; char[] consonants = { 'b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'm', 'n', 'p', 'q', 'r', 's', 't', 'v', 'x', 'z' }; public int Compare(char a, char b) { if (consonants.Contains(a) == true && vovels.Contains(b) == true) return 1; if (vovels.Contains(a) == true && consonants.Contains(b) == true) return -1; return a.CompareTo(b); } } static void Main(string[] args) { string myString = string.Empty; while (myString != "0") { char[] arr = (myString = Console.ReadLine()).ToCharArray(); Array.Sort(arr, new CharComparer()); Console.WriteLine( arr); } Console.ReadKey(true); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д