एक 2D वर्ग मैट्रिक्स इनपुट के रूप में दिया गया है। लक्ष्य है उन तत्वों को ढूंढना जो इसके प्राथमिक और द्वितीयक दोनों विकर्णों में सामान्य हैं। यदि इनपुट मैट्रिक्स है
1 2 3 2 2 4 1 4 7
तो इसका प्राथमिक विकर्ण 1 2 7 है और द्वितीयक विकर्ण 3 2 1 है। सामान्य तत्व 2 है।
दोनों में हमेशा कम से कम एक सामान्य तत्व होगा।
उदाहरण
इनपुट - Matrix[][5] = {{1, 2, 1}, {4, 1, 6}, {1, 8, 1}};
आउटपुट - विकर्णों में पंक्ति-वार सामान्य तत्व: 3
व्याख्या - मैट्रिक्स है:
1 2 1 4 1 6 1 8 1
प्राथमिक विकर्ण = 1 1 1, द्वितीयक विकर्ण = 1 1 1
सभी 3 मान सामान्य हैं। गिनती = 3
इनपुट - Matrix[][5] = {{1, 4, 4, 1}, {3, 4, 4, 6}, {1, 1, 1, 4}, {1, 9, 9, 2}};
आउटपुट - विकर्णों में पंक्ति-वार सामान्य तत्व: 3
व्याख्या - मैट्रिक्स है:
1 4 4 1 3 4 4 6 1 1 1 4 1 9 9 2
प्राथमिक विकर्ण = 1 4 1 2, द्वितीयक विकर्ण = 1 4 1 1
पहले 3 मान सामान्य हैं। गिनती = 3
उपयोग किया गया दृष्टिकोण
इस दृष्टिकोण में हम पहले वर्ग मैट्रिक्स को पंक्ति 0 से पंक्ति-वार ट्रैवर्स करते हैं। प्रत्येक पंक्ति के लिए जांचते हैं कि क्या तत्व M[i][i], M[i][size-i-1] के बराबर है। यदि हाँ तो यह दोनों विकर्णों का सामान्य तत्व है, गिनती बढ़ाएं।
इनपुट मैट्रिक्स Matrix[][5] लें।
इसका आकार सेट करें।
फ़ंक्शन countElement(int mt[][5], int size) इनपुट मैट्रिक्स और उसका आकार लेता है और प्राथमिक और द्वितीयक दोनों विकर्णों में सामान्य मानों की गिनती लौटाता है।
प्रारंभिक गिनती को 0 के रूप में लें।
for लूप का उपयोग करके i=0 से i
यदि mt[i][i] == mt[i][size-i-1] तो गिनती बढ़ाएं।
अंत में परिणाम के रूप में गिनती लौटाएं।
main में परिणाम प्रिंट करें।
उदाहरण
#include <iostream> using namespace std; int countElement(int mt[][5], int size){ int count = 0; for (int i=0;i<size;i++){ if (mt[i][i] == mt[i][size-i-1]){ count=count+1; } } return count; } int main(){ int Matrix[][5] = {{1, 2, 1}, {4, 1, 6}, {1, 8, 1}}; int size=3; cout<<"Row-wise common elements in diagonals:"<<countElement(Matrix, size); return 0; } आउटपुट
उपरोक्त कोड चलाने पर निम्नलिखित आउटपुट उत्पन्न होगा:
Row-wise common elements in diagonals:3