স্পার্স ম্যাট্রিক্স হলো এমন একটি ম্যাট্রিক্স যেখানে অধিকাংশ উপাদান ০। এর একটি উদাহরণ নিচে দেওয়া হলো:
নিচের ম্যাট্রিক্সে ৫টি শূন্য রয়েছে। যেহেতু শূন্যের সংখ্যা ম্যাট্রিক্সের মোট উপাদানের অর্ধেকের চেয়ে বেশি, তাই এটি একটি স্পার্স ম্যাট্রিক্স।
5 0 0 3 0 1 0 0 9
স্পার্স ম্যাট্রিক্স বাস্তবায়ন করার একটি প্রোগ্রাম নিচে দেওয়া হলো:
উদাহরণ
#include <iostream>
using namespace std;
int main() {
int a[10][10] = { {0, 0, 9}, {5, 0, 8}, {7, 0, 0} };
int i, j, count = 0;
int row = 3, col = 3;
for (i = 0; i < row; ++i) {
for (j = 0; j < col; ++j) {
if (a[i][j] == 0)
count++;
}
}
cout << "The matrix is:" << endl;
for (i = 0; i < row; ++i) {
for (j = 0; j < col; ++j) {
cout << a[i][j] << " ";
}
cout << endl;
}
cout << "The number of zeros in the matrix are " << count << endl;
if (count > ((row * col) / 2))
cout << "This is a sparse matrix" << endl;
else
cout << "This is not a sparse matrix" << endl;
return 0;
}
আউটপুট
The matrix is: 0 0 9 5 0 8 7 0 0 The number of zeros in the matrix are 5 This is a sparse matrix
উপরোক্ত প্রোগ্রামে, একটি নেস্টেড ফর লুপ ব্যবহার করে ম্যাট্রিক্সে শূন্যের সংখ্যা গণনা করা হয়েছে। এটি নিচের কোড স্নিপেটে প্রদর্শিত হয়েছে:
for (i = 0; i < row; ++i) {
for (j = 0; j < col; ++j) {
if (a[i][j] == 0)
count++;
}
}
শূন্যের সংখ্যা বের করার পর, নেস্টেড ফর লুপ ব্যবহার করে ম্যাট্রিক্সটি প্রদর্শন করা হয়েছে। এটি নিচে দেখানো হলো:
cout << "The matrix is:" << endl;
for (i = 0; i < row; ++i) {
for (j = 0; j < col; ++j) {
cout << a[i][j] << " ";
}
cout << endl;
}
শেষে, শূন্যের সংখ্যা প্রদর্শন করা হয়েছে। যদি শূন্যের গণনা ম্যাট্রিক্সের মোট উপাদানের অর্ধেকের চেয়ে বেশি হয়, তবে এটি প্রদর্শন করা হয় যে ম্যাট্রিক্সটি একটি স্পার্স ম্যাট্রিক্স, অন্যথায় ম্যাট্রিক্সটি স্পার্স ম্যাট্রিক্স নয়।
cout << "The number of zeros in the matrix are " << count << endl;
if (count > ((row * col) / 2))
cout << "This is a sparse matrix" << endl;
else
cout << "This is not a sparse matrix" << endl;