Сортировка столбцов матрицы по убыванию в С++

Я пытался сделать сортировку столбцов по убыванию, но мой код сортирует строки. В чем может быть проблема? Прошу прошения, если вопрос не выглядит хорошо оформленным.

void SortMatrix(int** Matrix, int string, int column)
{
    int tmp;

    for (int k = 0; k < (string * column); k++)
    {
        for (int i = 0; i < string; i++)
        {
            for (int j = 0; j < column; j++)
                if (Matrix[i][j + 1] > Matrix[i][j])
                {
                    tmp = Matrix[i][j];
                    Matrix[i][j] = Matrix[i][j + 1];
                    Matrix[i][j + 1] = tmp;
                }
        }
    }
}

Ответы (1 шт):

Автор решения: EOF

Вот, изучайте:

void SortMatrix(int** Matrix, int string, int column)
{
    int tmp;

    for (int col = 0; col < column; col++)              // Цикл по столбцам матрицы
    {
        for (int row = 0; row < string - 1; row++)      // Сортировка пузырьком
        {
            for (int i = 0; i < string - row - 1; i++)
            {
                if (Matrix[i + 1][col] > Matrix[i][col])
                {
                    tmp = Matrix[i][col];
                    Matrix[i][col] = Matrix[i + 1][col];
                    Matrix[i + 1][col] = tmp;
                }
            }
        }
    }
}
→ Ссылка