В тази програма ще се научите да намирате и отпечатвате транспонирането на дадена матрица в Kotlin.
Транспонирането на матрица е процесът на размяна на редове в колони. За матрица 2x3,
Матрица a11 a12 a13 a21 a22 a23 Транспонирана матрица a11 a21 a12 a22 a13 a23
Пример: Програма за намиране на транспониране на матрица
fun main(args: Array) ( val row = 2 val column = 3 val matrix = arrayOf(intArrayOf(2, 3, 4), intArrayOf(5, 6, 4)) // Display current matrix display(matrix) // Transpose the matrix val transpose = Array(column) ( IntArray(row) ) for (i in 0… row - 1) ( for (j in 0… column - 1) ( transpose(j)(i) = matrix(i)(j) ) ) // Display transposed matrix display(transpose) ) fun display(matrix: Array) ( println("The matrix is: ") for (row in matrix) ( for (column in row) ( print("$column ") ) println() ) )
Когато стартирате програмата, изходът ще бъде:
Матрицата е: 2 3 4 5 6 4 Матрицата е: 2 5 3 6 4 4
В горната програма display()
функцията се използва само за отпечатване на съдържанието на матрица на екрана.
Тук дадената матрица е с форма 2x3
, т.е. row = 2
и column = 3
.
За транспонираната матрица променяме реда на транспониране към 3x2
, т.е. row = 3
и column = 2
. И така, имамеtranspose = int(column)(row)
Транспонирането на матрицата се изчислява чрез просто размяна на колони в редове:
транспониране (j) (i) = матрица (i) (j)
Ето еквивалентния Java код: Java програма за намиране на транспониране на матрица