Kotlin-ohjelma moninkertaistuu matriisiin moniulotteisten taulukoiden avulla

Tässä ohjelmassa opit kertomaan kaksi matriisia käyttämällä moniulotteisia taulukoita Kotlinissa.

Jotta matriisikertoja tapahtuisi, ensimmäisen matriisin sarakkeiden lukumäärän on oltava yhtä suuri kuin toisen matriisin rivien lukumäärä. Esimerkissämme eli

 c1 = r2

Myös lopputuotematriisi on kooltaan r1 x c2eli

 tuote (r1) (c2)

Voit myös kertoa kaksi matriisia funktioiden avulla.

Esimerkki: Ohjaa kahden matriisin kertominen

 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() ) )

Kun suoritat ohjelmaa, tulos on:

 Kahden matriisin tulo on: 24 29 6 25 

Yllä olevassa ohjelmassa kertolasku tapahtuu seuraavasti:

| - (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)) _ | 

Esimerkissämme se tapahtuu seuraavasti:

| - (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 _ |

Tässä on vastaava Java-koodi: Java-ohjelma moninkertaistaa kaksi matriisia

Mielenkiintoisia artikkeleita...