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

यह कार्यक्रम क्रमशः क्रम r1 * c1 और r2 * c2 के दो मैट्रिक्स लेता है। फिर, प्रोग्राम इन दो मैट्रिक्स (यदि संभव हो) को गुणा करता है और इसे स्क्रीन पर प्रदर्शित करता है।

इस उदाहरण को समझने के लिए, आपको निम्नलिखित C ++ प्रोग्रामिंग विषयों का ज्ञान होना चाहिए:

  • C ++ बहुआयामी एरेज़
  • C ++ एरे

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

उदाहरण: फ़ंक्शन का उपयोग किए बिना दो मैट्रिसेस को गुणा करें

 #include using namespace std; int main() ( int a(10)(10), b(10)(10), mult(10)(10), r1, c1, r2, c2, i, j, k; cout <> r1>> c1; cout <> r2>> c2; // If column of first matrix in not equal to row of second matrix, // ask the user to enter the size of matrix again. while (c1!=r2) ( cout << "Error! column of first matrix not equal to row of second."; cout <> r1>> c1; cout <> r2>> c2; ) // Storing elements of first matrix. cout << endl << "Enter elements of matrix 1:" << endl; for(i = 0; i < r1; ++i) for(j = 0; j < c1; ++j) ( cout << "Enter element a" << i + 1 << j + 1 <> a(i)(j); ) // Storing elements of second matrix. cout << endl << "Enter elements of matrix 2:" << endl; for(i = 0; i < r2; ++i) for(j = 0; j < c2; ++j) ( cout << "Enter element b" << i + 1 << j + 1 <> b(i)(j); ) // Initializing elements of matrix mult to 0. for(i = 0; i < r1; ++i) for(j = 0; j < c2; ++j) ( mult(i)(j)=0; ) // Multiplying matrix a and b and storing in array mult. for(i = 0; i < r1; ++i) for(j = 0; j < c2; ++j) for(k = 0; k < c1; ++k) ( mult(i)(j) += a(i)(k) * b(k)(j); ) // Displaying the multiplication of two matrix. cout << endl << "Output Matrix: " << endl; for(i = 0; i < r1; ++i) for(j = 0; j < c2; ++j) ( cout << " " << mult(i)(j); if(j == c2-1) cout << endl; ) return 0; ) 

आउटपुट

पहली मैट्रिक्स के लिए पंक्तियाँ और स्तंभ दर्ज करें: 3 2 दूसरी मैट्रिक्स के लिए पंक्तियाँ और स्तंभ दर्ज करें: 3 2 त्रुटि! पहली मैट्रिक्स का स्तंभ दूसरी पंक्ति के बराबर नहीं है। प्रथम मैट्रिक्स के लिए पंक्तियाँ और स्तंभ दर्ज करें: 2 3 दूसरी मैट्रिक्स के लिए पंक्तियाँ और स्तंभ दर्ज करें: 3 2 मैट्रिक्स के तत्वों को दर्ज करें 1: तत्वों को दर्ज करें a11: 3 तत्वों को दर्ज करें a12: -2 तत्वों को दर्ज करें a13: 5 तत्वों को दर्ज करें a21: 3 तत्वों को दर्ज करें a22 : 0 तत्वों को दर्ज करें a23: 4 मैट्रिक्स 2 के तत्वों को दर्ज करें: तत्वों को दर्ज करें b11: 2 तत्वों को दर्ज करें b12: 3 तत्वों को दर्ज करें b21: -9 तत्वों को दर्ज करें b22: 0 तत्वों को दर्ज करें b31: 0 तत्वों के प्रवेश करें b32: 4 में प्रवेश करें: मैट्रिक्स 3: 24 आउटपुट 6 २५

इस कार्यक्रम में, उपयोगकर्ता को पहले दो मैट्रिक्स के आकार में प्रवेश करने के लिए कहा जाता है।

पहले मैट्रिक्स का स्तंभ गुणन के लिए दूसरी मैट्रिक्स की पंक्ति के बराबर होना चाहिए। यदि यह स्थिति संतुष्ट नहीं है, तो लूप का उपयोग करते हुए फिर से मैट्रिक्स का आकार पूछा जाता है।

फिर, उपयोगकर्ता को दो मैट्रिक्स दर्ज करने के लिए कहा जाता है और अंत में दो मैट्रिक्स के आउटपुट की गणना और प्रदर्शित की जाती है।

चूंकि, प्रोग्राम डिबग करने के लिए लंबा और कठिन है, इसलिए इस प्रोग्राम को किसी फ़ंक्शन में पास करके हल करना बेहतर है।

किसी फ़ंक्शन में सरणियाँ पास करके मैट्रिसेस को गुणा करने के बारे में जानने के लिए इस पृष्ठ पर जाएं।

दिलचस्प लेख...