এই সমস্যায়, আমাদের একটি 2D ম্যাট্রিক্সে একটি আয়তক্ষেত্রাকার প্যাটার্ন প্রিন্ট করতে হবে এমনভাবে যাতে তারা একে অপরের প্রতি কেন্দ্রীভূত হয়।
এই সমস্যাটি আরও ভালভাবে বোঝার জন্য একটি উদাহরণ নেওয়া যাক,
n=4 এর জন্য হল :4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 3 2 2 2 3 4 4 3 2 1 2 3 4 4 3 2 2 2 3 4 4 3 3 3 4 4 4 4 4 4 4এখানে, n, পূর্ণসংখ্যার মান নিয়ে উপরের প্যাটার্নটি প্রিন্ট করতে হবে এবং −
হিসাবে সমকেন্দ্রিক আয়তক্ষেত্রগুলি প্রিন্ট করতে হবে।n n n n n n-1 n-1 n-1 nn n-1 n-2 n-1 nn n-1 n-1 n-1 nn n n n
এখন, এই সমস্যায়, আমরা দেখতে পাচ্ছি (2n-1) আছে মোট 2D ম্যাট্রিক্সে কলাম এবং সারি। এই 2D ম্যাট্রিক্স দুটি অংশে মুদ্রিত হয়। উপরেরটি হবে 0 থেকে (2n-1)/2 এবং নিচের অর্ধেক হবে ((2n-1)/2+1) থেকে 2n-2 .
এখন, প্রতিটি সারির মান 1 দ্বারা কমতে থাকবে যতক্ষণ না সংখ্যাটি সারির সংখ্যা অর্থাৎ 1 থেকে i (সারির সংখ্যা) পর্যন্ত পৌঁছায়। তারপরে এটি সংখ্যাটিকে আবার n এ বাড়িয়ে দেয়।
উদাহরণ
এই যুক্তি ব্যবহার করে সমস্যা সমাধানের জন্য একটি প্রোগ্রাম তৈরি করতে দেয়,
#includeনেমস্পেস ব্যবহার করে std;void print2Dsequence(int n){ int s =2 * n - 1; জন্য (int i =0; i <(s / 2) + 1; i++) { int m =n; জন্য (int j =0; j =0; i--) { int m =n; জন্য (int j =0; j আউটপুট
4 এর সমবর্তী আয়তক্ষেত্রের ক্রম হল −
4 4 4 4 4 44 3 3 3 3 44 3 2 2 2 3 44 3 2 1 2 3 44 3 2 2 2 3 44 3 3 3 3 44 4 4 4 4