इनपुट के रूप में 2D वर्ग मैट्रिक्स दिया गया है। लक्ष्य उन तत्वों को खोजना है जो इसके प्राथमिक और द्वितीयक विकर्णों दोनों में समान हैं। यदि इनपुट मैट्रिक्स है
1 2 3 2 2 4 1 4 7
तब इसका प्राथमिक विकर्ण 1 2 7 है और द्वितीयक विकर्ण 3 2 1 है। सामान्य तत्व 2 है।
दोनों में कम से कम एक समान तत्व हमेशा रहेगा।
उदाहरण
इनपुट - मैट्रिक्स[][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
इनपुट - मैट्रिक्स[][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] [आकार-i-1] के बराबर है। यदि हाँ तो दोनों विकर्णों का सामान्य अवयव, वेतन वृद्धि गणना।
-
इनपुट मैट्रिक्स मैट्रिक्स [][5] लें।
-
इसका आकार निर्धारित करें।
-
फ़ंक्शन countElement(int mt[][5], int size) इनपुट मैट्रिक्स और उसका आकार लेता है और प्राथमिक और माध्यमिक दोनों विकर्णों में सामान्य मानों की गिनती देता है।
-
प्रारंभिक गणना 0 के रूप में लें।
-
लूप के लिए i=0 से i तक का उपयोग करके ट्रैवर्स करें
-
अगर mt[i][i] ==mt[i][size-i-1] तो इंक्रीमेंट काउंट।
-
अंत में परिणाम के रूप में वापसी की गणना करें।
-
परिणाम को मुख्य रूप से प्रिंट करें।
उदाहरण
#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