Computer >> Máy Tính >  >> Lập trình >> C ++

Chương trình kiểm tra ma trận có phải là ma trận nhị phân hay không trong C ++

Ma trận nhị phân là ma trận có tất cả các phần tử là giá trị nhị phân, tức là 0 hoặc 1. Ma trận nhị phân còn có thể được gọi là Ma trận Boolean, Ma trận quan hệ, Ma trận lôgic .

Ví dụ dưới đây

$$ \ begin {bmatrix} 0 &1 &0
\\ 1 &1 &0
\\ 1 &0 &1
\\ \ end {bmatrix} \:\:\:\:\:\:\:\:\:
\ begin {bmatrix}
0 &3 &0
\\ 1 &1 &0
\\ 1 &0 &2
\\ \ end {bmatrix} \\\ nhỏ Cái này \:là \:a \:Nhị phân \:Ma trận \:\:\:\:\:\:\:
Đây \:là \:không \:a \:binary \:matrix $$

Trong hình trên, ma trận đầu tiên bên trái là ma trận Nhị phân, ma trận còn lại có một số giá trị không phải là Nhị phân (0 hoặc 1) được đánh dấu màu đỏ, tức là 3 và 2 do đó không phải là ma trận nhị phân.

Ví dụ

Input: m[4][3] = { { 0, 0, 0, 0 },
   { 1, 1, 1, 1 },
   { 1, 1, 0, 0 } }
Output: its a binary matrix

Phương pháp tiếp cận

Chúng ta có thể duyệt toàn bộ ma trận và kiểm tra tất cả các phần tử nếu 0 hoặc 1 thì in nó là ma trận nhị phân, nếu không thì in nó không phải là ma trận nhị phân.

Thuật toán

Start
Step 1 -> define macros as #define row 3 and #define col 4
Step 2 -> Declare function to check if a matrix is binary matrix or not
   bool check(int arr[][col])
      Loop For int i = 0 and i < row and i++
         Loop For int j = 0 and j < col and j++
            IF(!(arr[i][j] = 0 || arr[i][j] = 1))
               return false
            End
         End
   End
   return true
step 3 -> In main()
   Declare an array as int arr[row][col] = { { 0, 0, 0, 0 },
      { 1, 1, 1, 1 },
      { 1, 1, 0, 0 } }
   If (check(arr))
      Print its a binary matrix
   Else
      Print its not a binary matrix
Stop

Ví dụ

#include <bits/stdc++.h>
using namespace std;
#define row 3
#define col 4
//check if a matrix is binary matrix or not
bool check(int arr[][col]){
   for (int i = 0; i < row; i++){
      for (int j = 0; j < col; j++){
         if (!(arr[i][j] == 0 || arr[i][j] == 1))
            return false;
      }
   }
   return true;
}
int main(){
   int arr[row][col] = { { 0, 0, 0, 0 },
      { 1, 1, 1, 1 },
      { 1, 1, 0, 0 } };
   if (check(arr))
      cout << "its a binary matrix";
   else
      cout << "its not a binary matrix";
   return 0;
}

Đầu ra

its a binary matrix