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

बहु-आयामी सरणियों का उपयोग करके दो मैट्रिक्स को गुणा करने के लिए C++ प्रोग्राम

मैट्रिक्स संख्याओं का एक आयताकार सरणी है जिसे पंक्तियों और स्तंभों के रूप में व्यवस्थित किया जाता है।

मैट्रिक्स का एक उदाहरण इस प्रकार है।

एक 3*3 मैट्रिक्स में 3 पंक्तियाँ और 3 कॉलम होते हैं जैसा कि नीचे दिखाया गया है -

8 6 3
7 1 9
5 1 9

बहुआयामी सरणियों का उपयोग करके दो मैट्रिक्स को गुणा करने वाला एक प्रोग्राम इस प्रकार है।

उदाहरण

#include<iostream>
using namespace std;
int main() {
   int product[10][10], r1=2, c1=3, r2=3, c2=3, i, j, k;
   int a[2][3] = { {2, 4, 1} , {2, 3, 9} };
   int b[3][3] = { {1, 2, 3} , {3, 6, 1} , {2, 9, 7} };
   if (c1 != r2) {
      cout<<"Column of first matrix should be equal to row of second matrix";
   } else {
      cout<<"The first matrix is:"<<endl;
      for(i=0; i<r1; ++i) {
         for(j=0; j<c1; ++j)
         cout<<a[i][j]<<" ";
         cout<<endl;
      }
      cout<<endl;
      cout<<"The second matrix is:"<<endl;
      for(i=0; i<r2; ++i) {
         for(j=0; j<c2; ++j)
         cout<<b[i][j]<<" ";
         cout<<endl;
      }
      cout<<endl;
      for(i=0; i<r1; ++i)
      for(j=0; j<c2; ++j) {
         product[i][j] = 0;
      }
      for(i=0; i<r1; ++i)
      for(j=0; j<c2; ++j)
      for(k=0; k<c1; ++k) {
         product[i][j]+=a[i][k]*b[k][j];
      }
      cout<<"Product of the two matrices is:"<<endl;
      for(i=0; i<r1; ++i) {
         for(j=0; j<c2; ++j)
         cout<<product[i][j]<<" ";
         cout<<endl;
      }
   }
   return 0;
}

आउटपुट

The first matrix is:
2 4 1
2 3 9

The second matrix is:
1 2 3
3 6 1
2 9 7

Product of the two matrices is:
16 37 17
29 103 72

उपरोक्त कार्यक्रम में, दो आव्यूह a और b को इस प्रकार प्रारंभ किया गया है।

int a[2][3] = { {2, 4, 1} , {2, 3, 9} };
int b[3][3] = { {1, 2, 3} , {3, 6, 1} , {2, 9, 7} };

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

if (c1 != r2) {
   cout<<"Column of first matrix should be equal to row of second matrix";
}

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

cout<<"The first matrix is:"<<endl;
for(i=0; i<r1; ++i) {
   for(j=0; j<c1; ++j)
   cout<<a[i][j]<<" ";
   cout<<endl;
}
cout<<endl;
cout<<"The second matrix is:"<<endl;
for(i=0; i<r2; ++i) {
   for(j=0; j<c2; ++j)
   cout<<b[i][j]<<" ";
   cout<<endl;
}
cout<<endl;

इसके बाद, उत्पाद [] [] मैट्रिक्स को 0 से प्रारंभ किया जाता है। फिर लूप के लिए नेस्टेड का उपयोग 2 मैट्रिक्स ए और बी के उत्पाद को खोजने के लिए किया जाता है। यह नीचे दिए गए कोड स्निपेट में दिखाया गया है।

for(i=0; i<r1; ++i)
for(j=0; j<c2; ++j) {
   product[i][j] = 0;
}
for(i=0; i<r1; ++i)
for(j=0; j<c2; ++j)
for(k=0; k<c1; ++k) {
   product[i][j]+=a[i][k]*b[k][j];
}

उत्पाद प्राप्त होने के बाद, इसे मुद्रित किया जाता है। यह इस प्रकार दिखाया गया है।

cout<<"Product of the two matrices is:"<<endl;
for(i=0; i<r1; ++i) {
   for(j=0; j<c2; ++j)
   cout<<product[i][j]<<" ";
   cout<<endl;
}

  1. C++ प्रोग्राम इंसीडेंस मैट्रिक्स का उपयोग करके ग्राफ का प्रतिनिधित्व करने के लिए

    एक ग्राफ की घटना मैट्रिक्स मेमोरी में स्टोर करने के लिए ग्राफ का एक और प्रतिनिधित्व है। यह मैट्रिक्स एक वर्ग मैट्रिक्स नहीं है। आपतन मैट्रिक्स का क्रम V x E है। जहाँ V शीर्षों की संख्या है और E ग्राफ़ में किनारों की संख्या है। इस मैट्रिक्स की प्रत्येक पंक्ति में हम कोने रख रहे हैं, और प्रत्येक कॉलम

  1. सी ++ प्रोग्राम आसन्न मैट्रिक्स का उपयोग करके ग्राफ का प्रतिनिधित्व करने के लिए

    एक ग्राफ का आसन्न मैट्रिक्स आकार V x V का एक वर्ग मैट्रिक्स है। V, ग्राफ G के शीर्षों की संख्या है। इस मैट्रिक्स में प्रत्येक पक्ष में V कोने चिह्नित हैं। यदि ग्राफ़ में i से j कोने तक कुछ किनारे हैं, तो ith पर आसन्न मैट्रिक्स में पंक्ति और जम्मूवें कॉलम में यह 1 (या भारित ग्राफ़ के लिए कुछ गैर-शून्

  1. जावा प्रोग्राम बहु-आयामी सरणियों का उपयोग करके दो मैट्रिक्स जोड़ने के लिए

    इस लेख में, हम समझेंगे कि बहु-आयामी सरणियों का उपयोग करके दो मैट्रिक्स कैसे जोड़ें। मैट्रिक्स में इसके तत्वों की एक पंक्ति और स्तंभ व्यवस्था है। m पंक्तियों और n स्तंभों वाले मैट्रिक्स को m × n मैट्रिक्स कहा जा सकता है। मैट्रिक्स में अलग-अलग प्रविष्टियों को तत्व कहा जाता है और इसे एक [i] [j] द्वारा