Сортировка символьного массива - C# (249535)

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

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

Доброго времени суток. Требуется ваша помощь. Имеется символьный массив размерностью 4х12. Нужно отсортировать этот массив по первой строке (в алфавитном порядке) , но с привязкой к столбцам. Т.е. например: исходный массив: к р и п п е р в р а б т к г о в и должно получиться след: и к п р р п в е б р т а о к в г

Решение задачи: «Сортировка символьного массива»

textual
Листинг программы
using System;
 
namespace thread2207525
{
    class Program
    {
        static void Swap(ref char a, ref char b)
        {
            char x = a;
            a = b;
            b = x;
        }
 
        static void SortRow(ref char[,] c, int j, int jj)
        {
            for (int i = 0; i < c.GetLength(0); i++)
                Swap(ref c[i, j], ref c[i, jj]);
        }
 
        static void Print(char[,] c)
        {
            for (int i = 0; i < c.GetLength(0); i++)
            {
                for (int j = 0; j < c.GetLength(1); j++)
                    Console.Write(c[i, j] + " ");
                Console.WriteLine();
            }
        }
 
        static void Main()
        {
            char[,] c = { { 'к', 'р', 'и', 'п' }, { 'п', 'е', 'р', 'в' }, { 'р', 'а', 'б', 'т' }, { 'к', 'г', 'о', 'в' } };
            Print(c);
            for (int j = 0; j < c.GetLength(1) - 1; j++)
                for (int jj = j; jj < c.GetLength(1); jj++)
                    if (c[0, j] > c[0, jj]) SortRow(ref c, j, jj);
            Console.WriteLine();
            Print(c);
            Console.ReadKey();
        }
    }
}

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

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