ইনপুট হিসাবে একটি 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 ][ size-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