Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Kiểm tra ma trận nhị phân (Binary Matrix) trong C++

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