Дан двумерный квадратный массив размером n*n, заполненный числами в случайном порядке. Упорядочить значения в порядке возрастания при просмотре элементов в строках слева направо, а при просмотре строк — сверху вниз — C#(Си Шарп)

int n = 3;
int i, j;
int porX, porY;
int[,] Matrix = new int[n, n];

// рандом числа для матрицы
Random rnd = new Random();
for (i = 0; i < n; i++)
{
    for (j = 0; j < n; j++)
    {
        Matrix[i, j] = rnd.Next(1, 10);
    }
}
Console.WriteLine("Первоначальная матрица");
for (i = 0; i < n; i++)
{
    for (j = 0; j < n; j++)
    {
        Console.Write(Matrix[i, j] + " ");
    }
    Console.WriteLine();
}
Console.WriteLine();

// сортировка матрицы по строкам
for (i = 0; i < n; i++)
{
    for (j = 0; j < n; j++)
    {
        for (int k = 0; k < n - j - 1; k++)
        {
            if (Matrix[i, k] > Matrix[i, k + 1])
            {
                porX = Matrix[i, k];
                Matrix[i, k] = Matrix[i, k + 1];
                Matrix[i, k + 1] = porX;
            }
        }
    }
}
// вывод матрицы с сортированными строками
Console.WriteLine("Сортированный массив по строкам");
for (i = 0; i < n; i++)
{
    for (j = 0; j < n; j++)
    {
        Console.Write(Matrix[i, j] + " ");
    }
    Console.WriteLine();
}

for (i = 0; i < n; i++)
{
    int tmp = 0;
    int zn = 0;
    int ind = 0;
    for (j = 0; j < n; j++)
    {
        if (Matrix[j, i] > zn)
        {
            zn = Matrix[j, i];
            ind = j;
        }
        tmp = Matrix[j, i];
        Matrix[j, i] = zn;
        Matrix[ind, i] = tmp;
    }

}
// вывод матрицы с сортированными столбцами 
Console.WriteLine("Сортированный массив по столбцам");
for (i = 0; i < n; i++)
{
    for (j = 0; j < n; j++)
    {
        Console.Write(Matrix[i, j] + " ");
    }
    Console.WriteLine();
}
Console.ReadKey();

Leave a Comment