Сортировка символьного массива - 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(); } } }