Hai ma trận được gọi là có thể nhân nhau (multiplicable) nếu số cột của ma trận thứ nhất bằng số hàng của ma trận thứ hai. Ví dụ:
Số hàng ma trận 1 = 3 Số cột ma trận 1 = 2 Số hàng ma trận 2 = 2 Số cột ma trận 2 = 5 Hai ma trận có thể nhân nhau vì số cột ma trận 1 = số hàng ma trận 2.
Chương trình kiểm tra khả năng nhân hai ma trận:
Ví dụ
#include <iostream>
using namespace std;
int main() {
int row1, column1, row2, column2;
cout << "Nhập kích thước ma trận thứ nhất: " << endl;
cin >> row1;
cin >> column1;
cout << "Nhập kích thước ma trận thứ hai: " << endl;
cin >> row2;
cin >> column2;
cout << "Ma trận thứ nhất" << endl;
cout << "Số hàng: " << row1 << endl;
cout << "Số cột: " << column1 << endl;
cout << "Ma trận thứ hai" << endl;
cout << "Số hàng: " << row2 << endl;
cout << "Số cột: " << column2 << endl;
if (column1 == row2)
cout << "Hai ma trận có thể nhân nhau";
else
cout << "Hai ma trận không thể nhân nhau";
return 0;
}
Kết quả đầu ra
Nhập kích thước ma trận thứ nhất: 2 3 Nhập kích thước ma trận thứ hai: 3 3 Ma trận thứ nhất Số hàng: 2 Số cột: 3 Ma trận thứ hai Số hàng: 3 Số cột: 3 Hai ma trận có thể nhân nhau
Trong chương trình trên, trước tiên nhập kích thước hai ma trận từ người dùng:
cout << "Nhập kích thước ma trận thứ nhất: " << endl; cin >> row1; cin >> column1; cout << "Nhập kích thước ma trận thứ hai: " << endl; cin >> row2; cin >> column2;
Sau đó in số hàng và cột của các ma trận:
cout << "Ma trận thứ nhất" << endl; cout << "Số hàng: " << row1 << endl; cout << "Số cột: " << column1 << endl; cout << "Ma trận thứ hai" << endl; cout << "Số hàng: " << row2 << endl; cout << "Số cột: " << column2 << endl;
Nếu số cột ma trận 1 bằng số hàng ma trận 2, in ra có thể nhân nhau, ngược lại thì không:
if (column1 == row2) cout << "Hai ma trận có thể nhân nhau"; else cout << "Hai ma trận không thể nhân nhau";