একটি বাইনারি ম্যাট্রিক্স হল এমন একটি ম্যাট্রিক্স যেটির সব এলিমেন্ট বাইনারি ভ্যালু অর্থাৎ ০ বা ১। বাইনারি ম্যাট্রিক্স কে বুলিয়ান ম্যাট্রিক্স, রিলেশনাল ম্যাট্রিক্স, লজিক্যাল ম্যাট্রিক্স ও বলা হয়।
নিচে উদাহরণ দেওয়া আছে
$$\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}\\\tiny This\:is\:a\:Binary\:Matrix\:\:\:\:\:\:\: This\:is\:not\:a\:binary\:matrix$$
উপরের ফিগার-এ বাম পাশের প্রথম ম্যাট্রিক্সটি একটি বাইনারি ম্যাট্রিক্স, অন্য ম্যাট্রিক্স-এ কিছু মান আছে যা বাইনারি নয় (০ বা ১) সেগুলো লাল রঙে হাইলাইট করা আছে অর্থাৎ ৩ এবং ২ তাই সেটি বাইনারি ম্যাট্রিক্স নয়।
উদাহরণ
ইনপুট: m[4][3] = { { 0, 0, 0, 0 }, { 1, 1, 1, 1 }, { 1, 1, 0, 0 } }
আউটপুট: its a binary matrix
অ্যাপ্রোচ
আমরা পুরো ম্যাট্রিক্স ট্রাভার্স করব এবং সব এলিমেন্ট চেক করব যদি ০ বা ১ হয় তবে প্রিন্ট করব এটি একটি বাইনারি ম্যাট্রিক্স, অন্যথায় প্রিন্ট করব এটি বাইনারি ম্যাট্রিক্স নয়।
অ্যালগরিদম
শুরু
স্টেপ ১ -> #define row 3 এবং #define col 4 ম্যাক্রো ডিফাইন করো
স্টেপ ২ -> ম্যাট্রিক্স বাইনারি ম্যাট্রিক্স কিনা চেক করার ফাংশন ডিক্লেয়ার করো
bool check(int arr[][col])
লুপ i = 0 থেকে i < row এবং i++ পর্যন্ত
লুপ j = 0 থেকে j < col এবং j++ পর্যন্ত
IF(!(arr[i][j] == 0 || arr[i][j] == 1))
return false
এন্ড
এন্ড
এন্ড
return true
স্টেপ ৩ -> main()-এ
একটি অ্যারে ডিক্লেয়ার করো int arr[row][col] = { { 0, 0, 0, 0 }, { 1, 1, 1, 1 }, { 1, 1, 0, 0 } }
IF (check(arr))
প্রিন্ট its a binary matrix
এলস
প্রিন্ট its not a binary matrix
স্টপ
উদাহরণ (C++ কোড)
#include <bits/stdc++.h>
using namespace std;
#define row 3
#define col 4
// ম্যাট্রিক্স বাইনারি ম্যাট্রিক্স কিনা চেক করো
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;
}
আউটপুট
its a binary matrix