Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

C++ प्रोग्राम यह जांचने के लिए कि क्या यह एक विरल मैट्रिक्स है

एक विरल मैट्रिक्स एक मैट्रिक्स है जिसमें अधिकांश तत्व 0 हैं। दूसरे शब्दों में, यदि मैट्रिक्स में आधे से अधिक तत्व 0 हैं, तो इसे विरल मैट्रिक्स के रूप में जाना जाता है। उदाहरण के लिए -

नीचे दिए गए मैट्रिक्स में 5 शून्य हैं। चूंकि शून्यों की संख्या मैट्रिक्स के आधे तत्वों से अधिक है, यह एक विरल मैट्रिक्स है।

1 0 2
5 0 0
0 0 9

यह जाँचने के लिए एक प्रोग्राम है कि यह एक विरल मैट्रिक्स है या नहीं।

उदाहरण

#include<iostream>
using namespace std;
int main () {
   int a[10][10] = { {2, 0, 0} , {0, 3, 8} , {0, 9, 0} };
   int i, j, count = 0;
   int r = 3, c = 3;
   for (i = 0; i < r; ++i) {
      for (j = 0; j < c; ++j) {
         if (a[i][j] == 0)
         count++;
      }
   }
   cout<<"The matrix is:"<<endl;
   for (i = 0; i < r; ++i) {
      for (j = 0; j < c; ++j) {
         cout<<a[i][j]<<" ";
      }
      cout<<endl;
   }
   cout<<"There are "<<count<<" zeros in the matrix"<<endl;
   if (count > ((r * c)/ 2))
   cout<<"This is a sparse matrix"<<endl;
   else
   cout<<"This is not a sparse matrix"<<endl;
   return 0;
}

आउटपुट

The matrix is:
2 0 0
0 3 8
0 9 0
There are 5 zeros in the matrix
This is a sparse matrix

उपरोक्त कार्यक्रम में, मैट्रिक्स में शून्य की संख्या की गणना करने के लिए लूप के लिए नेस्टेड का उपयोग किया जाता है। यह निम्नलिखित कोड स्निपेट का उपयोग करके प्रदर्शित किया जाता है।

for (i = 0; i < r; ++i) {
   for (j = 0; j < c; ++j) {
      if (a[i][j] == 0)
      count++;
   }
}

शून्य की संख्या खोजने के बाद, मैट्रिक्स को नेस्टेड लूप का उपयोग करके प्रदर्शित किया जाता है। यह नीचे दिखाया गया है -

cout<<"The matrix is:"<<endl;
for (i = 0; i < r; ++i) {
   for (j = 0; j < c; ++j) {
      cout<<a[i][j]<<" ";
   }
   cout<<endl;
}

अंत में, शून्य की संख्या प्रदर्शित की जाती है। यदि मैट्रिक्स में शून्य की संख्या आधे से अधिक तत्वों से अधिक है, तो यह प्रदर्शित होता है कि मैट्रिक्स एक विरल मैट्रिक्स है अन्यथा मैट्रिक्स एक विरल मैट्रिक्स नहीं है।

cout<<"There are "<<count<<" zeros in the matrix"<<endl;
if (count > ((r * c)/ 2))
cout<<"This is a sparse matrix"<<endl;
else
cout<<"This is not a sparse matrix"<<endl;

  1. सी++ में इनवॉल्यूटरी मैट्रिक्स की जांच करने का कार्यक्रम

    एक मैट्रिक्स दिया गया है M[r][c], r पंक्तियों की संख्या को दर्शाता है और c कॉलम की संख्या को दर्शाता है जैसे कि r =c एक वर्ग मैट्रिक्स बनाता है। हमें यह जांचना है कि दिया गया वर्ग मैट्रिक्स एक इन्वॉल्वरी मैट्रिक्स . है या नहीं या नहीं। इनवॉल्यूटरी मैट्रिक्स एक मैट्रिक्स को इनवॉल्वरी . कहा जाता है म

  1. C++ में idempotent मैट्रिक्स की जांच करने का कार्यक्रम

    एक मैट्रिक्स दिया गया है M[r][c], r पंक्तियों की संख्या को दर्शाता है और c कॉलम की संख्या को दर्शाता है जैसे कि r =c एक वर्ग मैट्रिक्स बनाता है। हमें यह जांचना है कि दिया गया वर्ग मैट्रिक्स एक बेकार मैट्रिक्स . है या नहीं या नहीं। बेकार मैट्रिक्स एक मैट्रिक्स M को बेवकूफ मैट्रिक्स . कहा जाता है य

  1. सी ++ में विकर्ण मैट्रिक्स और स्केलर मैट्रिक्स की जांच करने का कार्यक्रम

    मैट्रिक्स M[r][c] दिया गया है, r पंक्तियों की संख्या को दर्शाता है और c कॉलम की संख्या को इस तरह दर्शाता है कि r =c एक वर्ग मैट्रिक्स बनाता है। हमें ज्ञात करना है कि दिया गया वर्ग आव्यूह विकर्ण . है या नहीं और स्केलर मैट्रिक्स या नहीं, अगर यह विकर्ण . है और स्केलर मैट्रिक्स फिर परिणाम में हाँ प्