function sortColumns(matrix: string[][]): void {
let rows: number = matrix.length;
let cols: number = matrix[0].length;
for (let col: number = 0; col < cols; col++) {
// Extract column into an array
let column: string[] = [];
for (let row: number = 0; row < rows; row++) {
column.push(matrix[row][col]);
}
// Sort the column
column.sort();
// Place sorted values back into the matrix
for (let row: number = 0; row < rows; row++) {
matrix[row][col] = column[row];
}
}
}
function printMatrix(matrix: string[][]): void {
matrix.forEach(row => console.log(row.join(" ")));
}
let matrix: string[][] = [
["ccc", "zzzz", "yyyyyy"],
["eeee", "aaa", "ffff"],
["uu", "hhh", "uuu"],
["bbb", "gg", "x"]
];
console.log("Original Matrix:");
printMatrix(matrix);
sortColumns(matrix);
console.log("\nSorted Matrix:");
printMatrix(matrix);
/*
run:
"Original Matrix:"
"ccc zzzz yyyyyy"
"eeee aaa ffff"
"uu hhh uuu"
"bbb gg x"
"Sorted Matrix:"
"bbb aaa ffff"
"ccc gg uuu"
"eeee hhh x"
"uu zzzz yyyyyy"
*/