विवरण (Problem Explanation)
-
दो मैट्रिक्स का गुणा तभी संभव है जब
पहली मैट्रिक्स के Columns = दूसरी मैट्रिक्स के Rows हों। -
यदि
-
Matrix A का order =
r1 × c1 -
Matrix B का order =
r2 × c2
तो शर्त होगी:c1 = r2
-
-
Result Matrix का order होगा:
r1 × c2
C++ प्रोग्राम
using namespace std;
int main()
{
int r1, c1, r2, c2;
int a[10][10], b[10][10], mul[10][10];
// Orders इनपुट
cout << “पहली मैट्रिक्स का order (rows columns) दर्ज करें: “;
cin >> r1 >> c1;
cout << “दूसरी मैट्रिक्स का order (rows columns) दर्ज करें: “;
cin >> r2 >> c2;
// गुणा संभव है या नहीं जाँच
if (c1 != r2)
{
cout << “Matrix multiplication संभव नहीं है।”;
return 0;
}
// पहली मैट्रिक्स इनपुट
cout << “\nपहली मैट्रिक्स के तत्व दर्ज करें:\n“;
for (int i = 0; i < r1; i++)
{
for (int j = 0; j < c1; j++)
{
cin >> a[i][j];
}
}
// दूसरी मैट्रिक्स इनपुट
cout << “\nदूसरी मैट्रिक्स के तत्व दर्ज करें:\n“;
for (int i = 0; i < r2; i++)
{
for (int j = 0; j < c2; j++)
{
cin >> b[i][j];
}
}
// Result मैट्रिक्स को 0 से initialize करना
for (int i = 0; i < r1; i++)
{
for (int j = 0; j < c2; j++)
{
mul[i][j] = 0;
}
}
// Matrix Multiplication
for (int i = 0; i < r1; i++)
{
for (int j = 0; j < c2; j++)
{
for (int k = 0; k < c1; k++)
{
mul[i][j] += a[i][k] * b[k][j];
}
}
}
// Result प्रिंट करना
cout << “\nMultiplication Matrix:\n“;
for (int i = 0; i < r1; i++)
{
for (int j = 0; j < c2; j++)
{
cout << mul[i][j] << ” “;
}
cout << endl;
}
return 0;
}
उदाहरण (Example)
Input:
2 2
1 2
3 4
5 6
7 8
Output:
19 22
43 50
यह प्रोग्राम दो मैट्रिक्स के बीच Matrix Multiplication को सही नियमों के अनुसार करता है और परिणाम मैट्रिक्स प्रदर्शित करता है।

Speak Your Mind