Ma trận nhị phân (Binary matrix) là ma trận toàn bộ phần tử là 0 hoặc 1. Còn gọi là Boolean matrix, Relational Matrix, Logical matrix.
Ví dụ:
[0 1 0] [0 3 0] [1 1 0] [1 1 0] ← không phải binary (có 3, 2) [1 0 1] [1 0 2]
Ví dụ
Input: m[3][4] = {{0,0,0,0},{1,1,1,1},{1,1,0,0}}
Output: là ma trận nhị phân
Cách làm
Duyệt toàn bộ ma trận, nếu mọi phần tử đều là 0 hoặc 1 thì là binary matrix.
Thuật toán
BẮT ĐẦU
#define row 3, #define col 4
Hàm kiemTra(int a[][col])
Với i=0..row-1, j=0..col-1
Nếu a[i][j] khác 0 và khác 1 → trả về false
Trả về true
main()
Khai báo mảng
Nếu kiemTra() in "binary matrix" ngược lại "không phải"
KẾT THÚC
Ví dụ mã C++
#include <bits/stdc++.h>
using namespace std;
#define row 3
#define col 4
bool kiemTra(int a[][col]){
for (int i = 0; i < row; i++)
for (int j = 0; j < col; j++)
if (!(a[i][j] == 0 || a[i][j] == 1))
return false;
return true;
}
int main(){
int a[row][col] = {{0,0,0,0},{1,1,1,1},{1,1,0,0}};
if (kiemTra(a))
cout << "là ma trận nhị phân";
else
cout << "không phải ma trận nhị phân";
return 0;
}
Kết quả đầu ra
là ma trận nhị phân