এই সমস্যায়, আমাদের একটি 2D ম্যাট্রিক্স দেওয়া হয়েছে। আমাদের কাজ হল ম্যাট্রিকের সমস্ত উপাদানকে একটি তির্যক ক্রমে প্রিন্ট করা।
সমস্যাটি বোঝার জন্য একটি উদাহরণ দেওয়া যাক,
1 2 34 5 67 8 9
আউটপুট -
14 27 5 38 69
একটি জিগজ্যাগ ফর্ম বা তির্যক আকারে ম্যাট্রিক্স প্রিন্ট করার সময় যে প্যাটার্ন অনুসরণ করা হয় তা দেখা যাক৷
এইভাবে তির্যক ট্রাভার্সাল কাজ করে।
আউটপুটে লাইনের সংখ্যা সবসময় 2D ম্যাট্রিক্সের সারি এবং কলামের উপর নির্ভর করে।
একটি 2D ম্যাট্রিক্স ম্যাট[r][c] এর জন্য, তাদের হবে r+c-1 আউটপুট লাইন।
উদাহরণ
এখন, প্রোগ্রামটির সমাধান দেখা যাক,
#includenamespace std ব্যবহার করে;#define R 5#define C 4int min2(int a, int b){ রিটার্ন (a b)? a:b; } void printDiagonalMatrix(int matrix[][C]){এর জন্য (int line=1; line<=(R + C -1); line++){ int start_col =max(0, line-R); int count =min3(লাইন, (C-start_col), R); (int j=0; j আউটপুট
ম্যাট্রিক্স হল :1 2 3 45 6 7 89 10 11 1213 14 15 1617 18 19 20ZigZag (তির্যক) ম্যাট্রিক্সের ট্রাভার্সাল হল :15 29 6 313 10 7 417 1218>