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

मैट्रिक्स को फ़ंक्शन में पास करके दो मैट्रिक्स को गुणा करने के लिए सी ++ प्रोग्राम

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

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

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

8 6 3 5
7 1 9 2
5 1 9 8

एक प्रोग्राम जो मैट्रिसेस को फंक्शन में पास करके दो मैट्रिसेस को गुणा करता है, वह इस प्रकार है।

उदाहरण

#include<iostream>
using namespace std;
void MatrixMultiplication(int a[2][3],int b[3][3]) {
   int product[10][10], r1=2, c1=3, r2=3, c2=3, i, j, k;
   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;
      }
   }
}
int main() {
   int a[2][3] = { {2, 4, 1} , {2, 3, 9} };
   int b[3][3] = { {1, 2, 3} , {3, 6, 1} , {2, 9, 7} };
   MatrixMultiplication(a,b);
   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

उपरोक्त कार्यक्रम में, दो मैट्रिक्स ए और बी को मुख्य () फ़ंक्शन में निम्नानुसार प्रारंभ किया गया है।

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

फ़ंक्शन MatrixMultiplication() को a और b के मानों के साथ कहा जाता है। यह नीचे देखा गया है।

MatrixMultiplication(a,b);

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

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# में मैट्रिक्स गुणन को प्रदर्शित करने वाला एक प्रोग्राम इस प्रकार दिया गया है - उदाहरण using System;

  1. दो आव्यूहों को गुणा करने के लिए पायथन कार्यक्रम

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

  1. पायथन का उपयोग करके दो मैट्रिक्स को कैसे गुणा करें?

    दो आव्यूहों का गुणन तभी संभव है जब पहले आव्यूह में स्तंभों की संख्या दूसरे आव्यूह में पंक्तियों की संख्या के बराबर हो। नेस्टेड लूप का उपयोग करके गुणा किया जा सकता है। निम्नलिखित कार्यक्रम में 3 पंक्तियों और 3 स्तंभों के साथ दो मैट्रिक्स x और y हैं। परिणामी z मैट्रिक्स में भी 3X3 संरचना होगी। पहले म