Сортировка строк по содержанию элементов указанного номера столбца двумерного массива - 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();
        }

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


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

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

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