Сортировка столбцов матрицы по убыванию в С++
Я пытался сделать сортировку столбцов по убыванию, но мой код сортирует строки. В чем может быть проблема? Прошу прошения, если вопрос не выглядит хорошо оформленным.
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;
}
}
}
}
}