Program C ++ untuk Mengalikan Dua Matriks Menggunakan Array Multi-dimensi

Program ini mengambil dua matriks berorde r1 * c1 dan r2 * c2. Kemudian, program mengalikan dua matriks ini (jika memungkinkan) dan menampilkannya di layar.

Untuk memahami contoh ini, Anda harus memiliki pengetahuan tentang topik pemrograman C ++ berikut:

  • C ++ Array Multidimensi
  • C ++ Array

Untuk mengalikan dua matriks, jumlah kolom dari matriks pertama harus sama dengan jumlah baris ke matriks kedua. Program ini menampilkan kesalahan hingga jumlah kolom matriks pertama sama dengan jumlah baris matriks kedua.

Contoh: Mengalikan dua matriks tanpa menggunakan fungsi

 #include using namespace std; int main() ( int a(10)(10), b(10)(10), mult(10)(10), r1, c1, r2, c2, i, j, k; cout <> r1>> c1; cout <> r2>> c2; // If column of first matrix in not equal to row of second matrix, // ask the user to enter the size of matrix again. while (c1!=r2) ( cout << "Error! column of first matrix not equal to row of second."; cout <> r1>> c1; cout <> r2>> c2; ) // Storing elements of first matrix. cout << endl << "Enter elements of matrix 1:" << endl; for(i = 0; i < r1; ++i) for(j = 0; j < c1; ++j) ( cout << "Enter element a" << i + 1 << j + 1 <> a(i)(j); ) // Storing elements of second matrix. cout << endl << "Enter elements of matrix 2:" << endl; for(i = 0; i < r2; ++i) for(j = 0; j < c2; ++j) ( cout << "Enter element b" << i + 1 << j + 1 <> b(i)(j); ) // Initializing elements of matrix mult to 0. for(i = 0; i < r1; ++i) for(j = 0; j < c2; ++j) ( mult(i)(j)=0; ) // Multiplying matrix a and b and storing in array mult. for(i = 0; i < r1; ++i) for(j = 0; j < c2; ++j) for(k = 0; k < c1; ++k) ( mult(i)(j) += a(i)(k) * b(k)(j); ) // Displaying the multiplication of two matrix. cout << endl << "Output Matrix: " << endl; for(i = 0; i < r1; ++i) for(j = 0; j < c2; ++j) ( cout << " " << mult(i)(j); if(j == c2-1) cout << endl; ) return 0; ) 

Keluaran

Masukkan baris dan kolom untuk matriks pertama: 3 2 Masukkan baris dan kolom untuk matriks kedua: 3 2 Error! kolom matriks pertama tidak sama dengan baris kedua. Memasukkan baris dan kolom untuk matriks pertama: 2 3 Memasukkan baris dan kolom untuk matriks kedua: 3 2 Memasukkan elemen matriks 1: Memasukkan elemen a11: 3 Memasukkan elemen a12: -2 Memasukkan elemen a13: 5 Memasukkan elemen a21: 3 Memasukkan elemen a22 : 0 Memasukkan elemen a23: 4 Memasukkan elemen matriks 2: Memasukkan elemen b11: 2 Memasukkan elemen b12: 3 Memasukkan elemen b21: -9 Memasukkan elemen b22: 0 Memasukkan elemen b31: 0 Memasukkan elemen b32: 4 Matriks Keluaran: 24 29 6 25

Dalam program ini, user diminta untuk memasukkan ukuran dari dua buah matriks terlebih dahulu.

Kolom matriks pertama harus sama dengan baris matriks kedua untuk perkalian. Jika kondisi ini tidak terpenuhi maka ukuran matriks kembali ditanyakan menggunakan while loop.

Kemudian user diminta untuk memasukkan dua buah matriks dan terakhir keluaran dari dua buah matriks tersebut dihitung dan ditampilkan.

Karena, program ini panjang dan sulit untuk di-debug, lebih baik menyelesaikan program ini dengan meneruskannya ke suatu fungsi.

Kunjungi halaman ini untuk mempelajari tentang mengalikan matriks dengan melewatkan array ke suatu fungsi.

Artikel yang menarik...