ভূমিকা
একটি n x n আকারের ম্যাট্রিক্স দেওয়া থাকলে, তার উপাদানগুলোকে ডায়াগোনালি নিচের দিকে (diagonally downwards) প্রিন্ট করতে হবে। এখানে প্রথম সারির উপাদানগুলো থেকে শুরু করে ডায়াগোনালি নিচে যাওয়া হয়, তারপর শেষ কলামের উপাদানগুলো থেকে ডায়াগোনালি নিচে যাওয়া হয়।
উদাহরণ
ইনপুট: Matrix[3][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }
আউটপুট: 1 2 4 3 5 7 6 8 9
এলগরিদম
int diagonally_down(int mat[n][n])
শুরু
ধাপ ১: i, j, row, col ইন্টিজার হিসেবে ঘোষণা
ধাপ ২: i = 0 থেকে n-1 পর্যন্ত লুপ
row = 0, col = i সেট করুন
যতক্ষণ col >= 0:
mat[row][col] প্রিন্ট করুন
row বেড়ান, col কমান
লুপ শেষ
লুপ শেষ
ধাপ ৩: j = 1 থেকে n-1 পর্যন্ত লুপ
row = j, col = n-1 সেট করুন
যতক্ষণ row < n:
mat[row][col] প্রিন্ট করুন
row বেড়ান, col কমান
লুপ শেষ
লুপ শেষ
শেষ
C প্রোগ্রাম উদাহরণ
#include#define n 3 int diagonally_down(int mat[n][n]) { int i, j, row, col; // প্রথম সারির উপাদানগুলো থেকে ডায়াগোনালি নিচে for (i = 0; i < n; i++) { row = 0; col = i; while (col >= 0) { printf("%d ", mat[row++][col--]); } } // শেষ কলামের উপাদানগুলো থেকে ডায়াগোনালি নিচে for (j = 1; j < n; j++) { row = j; col = n - 1; while (row < n) { printf("%d ", mat[row++][col--]); } } } int main() { int mat[][n] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; diagonally_down(mat); return 0; }
আউটপুট
1 2 4 3 5 7 6 8 9