Сортировка строк по содержанию элементов указанного номера столбца двумерного массива - C#
Формулировка задачи:
Вкратце нужно чтобы массив сортировал примерно так:
Исходный массив:
30 31 3 33
50 51 5 53
10 11 1 13
40 41 4 43
Выходящий массив:
10 11 1 13
30 31 3 33
40 41 4 43
50 51 5 53
Console.WriteLine("Массив №4:"); for (i = 0; i < n; i++) { for (j = 0; j < m; j++) { A[i, j] = rnd.Next(-50, 50); Console.Write("{0}\t", A[i, j]); } Console.WriteLine(); } for (i = 0; i < n; i++) for (j = 0; j < m; j++) for (int g = 0; g < m - 1; g++) if (A[j, g] < A[j, g + 1]) { int temp = A[j, g]; A[j, g] = A[j, g + 1]; A[j, g + 1] = temp; } Console.WriteLine("г) Сортировка строк по значениям элементов указанных по номеру столбца двумерного массива:"); for (i = 0; i < 5; i++) { for (j = 0; j < 5; j++) Console.Write("{0}\t", A[i, j]); Console.WriteLine(); }
Решение задачи: «Сортировка строк по содержанию элементов указанного номера столбца двумерного массива»
textual
Листинг программы
static void Main(string[] args) { int n = 4; int[,] mass = new int[n, n]; int[] index = new int[n]; int[,] mass1 = new int[n, n]; int[] mass1dim = new int[n]; int строка = 1; // задаем строку Random rnd = new Random(); for (int i = 0; i < n; i++) { index[i] = i; for (int j = 0; j < n; j++) mass[i, j] = rnd.Next(50); } Array.Copy(mass, 0, mass1, 0, mass.Length); Console.WriteLine("Начальная состояние "); print(mass); // Сортировка по заданной строке for (int j = 0; j < n; j++) mass1dim[j] = mass[строка, j]; Array.Sort(mass1dim ,index ); for (int j = 0; j < n ; j++) for (int g = 0; g < n; g++) mass[j , g] = mass1[j , index[g]]; Console.WriteLine("Отсортировано по заданной строке {0}", строка + 1); print(mass); Console.ReadKey(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д