Сортировка массива - C# (178157)
Формулировка задачи:
В общем, есть задача: Задан двумерный массив, в котором n x m элементов. Отсортируйте каждый столбец массива по возрастанию. Распечатайте массив дважды – до и после сортировки.
Вот мое решение:
Но оно не работает, помогите найти ошибку, пожалуйста
int min; Random rnd = new Random(); int n = rnd.Next(4, 10); int m = rnd.Next(4, 10); int[,] ms = new int[n, m]; for (int i =0; i<n; i++) for (int j = 0; j<m; j++) { ms[i, j] = rnd.Next(0,10); } Console.WriteLine("1st arr/"); for (int i = 0; i < ms.GetLength(0); i++) { for (int j = 0; j < ms.GetLength(1); j++) { Console.Write(ms[i, j] + " "); } Console.WriteLine(); } Console.WriteLine("2ns arr/"); for (int i = 0; i < ms.GetLength(0); i++) { min = ms[i, 0]; for (int j = 0; j < ms.GetLength(1)-1; j++) for (int z = 0; z < ms.GetLength(1)-j; z++) { if (ms[i, j] > ms[i, j + 1]) { int x = ms[i, j]; ms[i, j] = ms[i, j + 1]; ms[i, j + 1] = x; } } } for (int i = 0; i < ms.GetLength(0); i++) { for (int j = 0; j < ms.GetLength(1); j++) { Console.Write(ms[i, j] + " "); } Console.WriteLine(); } Console.ReadKey();
Решение задачи: «Сортировка массива»
textual
Листинг программы
for (int j = 0; j < ms.GetLength(1); j++) { for (int i = 0; i < ms.GetLength(0) - 1; i++) for (int z = i+1; z < ms.GetLength(0); z++) { if (ms[i, j] > ms[z, j]) { int x = ms[i, j]; ms[i, j] = ms[z, j]; ms[z, j] = x; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д