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

У овом програму ћете научити да множите две матрице помоћу функције у Котлину.

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

 ц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 = multiplyMatrices(firstMatrix, secondMatrix, r1, c1, c2) // Displaying the result displayProduct(product) ) fun multiplyMatrices(firstMatrix: Array, secondMatrix: Array, r1: Int, c1: Int, c2: Int): Array ( 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) ) ) ) return product ) fun displayProduct(product: Array) ( println("Product of two matrices is: ") for (row in product) ( for (column in row) ( print("$column ") ) println() ) )

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

 Збир две матрице је: 24 29 6 25 

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

  • multiplyMatrices() која множи две задате матрице и враћа матрицу производа
  • displayProduct() који на екрану приказује излаз матрице производа.

Множење се одвија као:

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

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

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