Kotlini programm maatriksiks korrutamiseks mitmemõõtmeliste massiivide abil

Selles programmis õpite Kotlini mitmemõõtmeliste massiivide abil kahte maatriksit korrutama.

Maatriksi korrutamiseks peab esimese maatriksi veergude arv olema võrdne teise maatriksi ridade arvuga. Meie näites st

 c1 = r2

Samuti on lõpptoote maatriks suurusega r1 x c2, st

 korrutis (r1) (c2)

Funktsioonide abil saate ka kaks maatriksit korrutada.

Näide: kahe maatriksi korrutamise programm

 fun main(args: Array) ( val r1 = 2 val c1 = 3 val r2 = 3 val c2 = 2 val firstMatrix = arrayOf(intArrayOf(3, -2, 5), intArrayOf(3, 0, 4)) val secondMatrix = arrayOf(intArrayOf(2, 3), intArrayOf(-9, 0), intArrayOf(0, 4)) // Mutliplying Two matrices val product = Array(r1) ( IntArray(c2) ) for (i in 0… r1 - 1) ( for (j in 0… c2 - 1) ( for (k in 0… c1 - 1) ( product(i)(j) += firstMatrix(i)(k) * secondMatrix(k)(j) ) ) ) // Displaying the result println("Product of two matrices is: ") for (row in product) ( for (column in row) ( print("$column ") ) println() ) )

Programmi käivitamisel on väljund järgmine:

 Kahe maatriksi korrutis on: 24 29 6 25 

Ülaltoodud programmis toimub korrutamine järgmiselt:

| - (a 11 xb 11 ) + (a 12 xb 21 ) + (a 13 xb 31 ) (a 11 xb 12 ) + (a 12 xb 22 ) + (a 13 xb 32 ) - | | _ (a 21 xb 11 ) + (a 22 xb 21 ) + (a 23 xb 31 ) (a 21 xb 12 ) + (a 22 xb 22 ) + (a 23 xb 32)) _ | 

Meie näites toimub see järgmiselt:

| - (3 x 2) + (-2 x -9) + (5 x 0) = 24 (3 x 3) + (-2 x 0) + (5 x 4) = 29 - | | _ (3 x 2) + (0 x -9) + (4 x 0) = 6 (3 x 3) + (0 x 0) + (4 x 4) = 25 _ |

Siin on samaväärne Java-kood: Java-programm kahe maatriksi korrutamiseks

Huvitavad Artiklid...