Πρόγραμμα Kotlin για πολλαπλασιασμό δύο πινάκων περνώντας το Matrix σε μια συνάρτηση

Σε αυτό το πρόγραμμα, θα μάθετε να πολλαπλασιάζετε δύο πίνακες χρησιμοποιώντας μια συνάρτηση στο Kotlin.

Για να γίνει πολλαπλασιασμός μήτρας, ο αριθμός των στηλών του πρώτου πίνακα πρέπει να είναι ίσος με τον αριθμό των σειρών του δεύτερου πίνακα. Στο παράδειγμά μας, δηλαδή

 c1 = r2

Επίσης, η μήτρα του τελικού προϊόντος έχει μέγεθος r1 x c2, δηλαδή

 προϊόν (r1) (c2)

Μπορείτε επίσης να πολλαπλασιάσετε δύο πίνακες χωρίς συναρτήσεις.

Παράδειγμα: Πρόγραμμα πολλαπλασιασμού δύο πινάκων χρησιμοποιώντας μια συνάρτηση

 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 xb 11 ) + (ένα 12 xb 21 ) + (ένα 13 xb 31 ) (ένα 11 xb 12 ) + (ένα 12 xb 22 ) + (ένα 13 xb 32 ) - | | _ (ένα 21 xb 11 ) + (ένα 22 xb 21 ) + (ένα 23 xb 31 ) (ένα 21 xb 12 ) + (ένα 22 xb 22 ) + (ένα 23 xb 32_ | 

Στο παράδειγμά μας, λαμβάνει χώρα ως:

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

Εδώ είναι ο αντίστοιχος κώδικας Java: Πρόγραμμα Java για πολλαπλασιασμό δύο πινάκων χρησιμοποιώντας μια συνάρτηση

ενδιαφέροντα άρθρα...