Сортировка через интерфейс 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);
    }
}

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


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

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

5   голосов , оценка 3.6 из 5
Похожие ответы