Котлинов програм за множење на матрицу помоћу вишедимензионалних низова

У овом програму ћете научити да множите две матрице помоћу вишедимензионалних низова у Котлину.

Да би дошло до множења матрице, број колона прве матрице мора бити једнак броју редова друге матрице. У нашем примеру, тј

 ц1 = р2

Такође, коначна матрица производа је величине r1 x c2, тј

 производ (р1) (ц2)

Такође можете помножити две матрице помоћу функција.

Пример: Програм за множење две матрице

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

Када покренете програм, излаз ће бити:

 Производ две матрице је: 24 29 6 25 

У горе наведеном програму множење се одвија као:

|. | -11 кб 11 ) + (а 12 кб 21 ) + (а 13 кб 31 ) (а 11 кб 12 ) + (а 12 кб 22 ) + (а 13 кб 32 ) - | | _ (а 21 кб 11 ) + (а 22 кб 21 ) + (а 23 кб 31 ) (а 21 кб 12 ) + (а 22 кб 22 ) + (а 23 кб 32) _ | 

У нашем примеру се то одвија као:

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

Ево еквивалентног Јава кода: Јава програм за множење две матрице

Занимљиви Чланци...