मैट्रिक्स गुणा के लिए प्रोग्राम का उपयोग दो मैट्रिक्स को गुणा करने के लिए किया जाता है। यह प्रक्रिया केवल तभी संभव है जब पहले मैट्रिक्स में कॉलम की संख्या दूसरे मैट्रिक्स में पंक्तियों की संख्या के बराबर हो।
C# में मैट्रिक्स गुणा को प्रदर्शित करने वाला एक प्रोग्राम निम्नलिखित है -
उदाहरण
using System;
namespace MatrixMultiplicationDemo {
class Example {
static void Main(string[] args) {
int m = 2, n = 3, p = 3, q = 3, i, j;
int[,] a = {{1, 4, 2}, {2, 5, 1}};
int[,] b = {{3, 4, 2}, {3, 5, 7}, {1, 2, 1}};
Console.WriteLine("मैट्रिक्स a:");
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
Console.Write(a[i, j] + " ");
}
Console.WriteLine();
}
Console.WriteLine("मैट्रिक्स b:");
for (i = 0; i < p; i++) {
for (j = 0; j < q; j++) {
Console.Write(b[i, j] + " ");
}
Console.WriteLine();
}
if(n != p) {
Console.WriteLine("मैट्रिक्स गुणा संभव नहीं है");
} else {
int[,] c = new int[m, q];
for (i = 0; i < m; i++) {
for (j = 0; j < q; j++) {
c[i, j] = 0;
for (int k = 0; k < n; k++) {
c[i, j] += a[i, k] * b[k, j];
}
}
}
Console.WriteLine("दो मैट्रिक्स का गुणनफल है :");
for (i = 0; i < m; i++) {
for (j = 0; j < q; j++) {
Console.Write(c[i, j] + "\t");
}
Console.WriteLine();
}
}
}
}
}
आउटपुट
उपरोक्त प्रोग्राम का आउटपुट निम्नलिखित है।
मैट्रिक्स a: 1 4 2 2 5 1 मैट्रिक्स b: 3 4 2 3 5 7 1 2 1 दो मैट्रिक्स का गुणनफल है : 17 28 32 22 35 40
अब आइए उपरोक्त प्रोग्राम को समझते हैं।
सबसे पहले, दो मैट्रिक्स a और b प्रदर्शित किए जाते हैं। इसके लिए कोड स्निपेट निम्नलिखित है।
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
Console.Write(a[i, j] + " ");
}
Console.WriteLine();
}
Console.WriteLine("मैट्रिक्स b:");
for (i = 0; i < p; i++) {
for (j = 0; j < q; j++) {
Console.Write(b[i, j] + " ");
}
Console.WriteLine();
}
यदि पहले मैट्रिक्स में कॉलम की संख्या दूसरे मैट्रिक्स में पंक्तियों की संख्या के बराबर नहीं है तो मैट्रिक्स को गुणा नहीं किया जा सकता और यह प्रदर्शित किया जाता है। इसके लिए कोड स्निपेट निम्नलिखित है।
if(n != p) {
Console.WriteLine("मैट्रिक्स गुणा संभव नहीं है");
}
अन्यथा, मैट्रिक्स a और b यानी मैट्रिक्स c का गुणनफल प्राप्त करने के लिए एक नेस्टेड फॉर लूप का उपयोग किया जाता है। फिर मैट्रिक्स c प्रदर्शित किया जाता है। इसके लिए कोड स्निपेट निम्नलिखित है -
for (i = 0; i < m; i++) {
for (j = 0; j < q; j++) {
c[i, j] = 0;
for (int k = 0; k < n; k++) {
c[i, j] += a[i, k] * b[k, j];
}
}
}
Console.WriteLine("दो मैट्रिक्स का गुणनफल है :");
for (i = 0; i < m; i++) {
for (j = 0; j < q; j++) {
Console.Write(c[i, j] + "\t");
}
Console.WriteLine();
}