Kotlin-programma om te vermenigvuldigen naar matrix met behulp van multidimensionale arrays

In dit programma leer je twee matrices te vermenigvuldigen met behulp van multidimensionale arrays in Kotlin.

Om matrixvermenigvuldiging te laten plaatsvinden, moet het aantal kolommen van de eerste matrix gelijk zijn aan het aantal rijen van de tweede matrix. In ons voorbeeld, dwz

 c1 = r2

Ook heeft de uiteindelijke productmatrix een afmeting r1 x c2, dwz

 product (r1) (c2)

U kunt ook twee matrices vermenigvuldigen met behulp van functies.

Voorbeeld: programma om twee matrices te vermenigvuldigen

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

Wanneer u het programma uitvoert, is de uitvoer:

 Product van twee matrices is: 24 29 6 25 

In het bovenstaande programma vindt de vermenigvuldiging plaats als:

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

In ons voorbeeld vindt het plaats als:

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

Hier is de equivalente Java-code: Java-programma om twee matrices te vermenigvuldigen

Interessante artikelen...