Сортировка массива - 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;
            }
        }
}

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


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

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

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