आकार n x n की एक सरणी के साथ दिया गया है और कार्य पूर्णांक प्रकार के मैट्रिक्स तत्वों को तिरछे नीचे की ओर प्रिंट करना है।
तिरछे नीचे की ओर का अर्थ है n x n के किसी भी आकार की सरणी को तिरछे नीचे की ओर ले जाना जैसे नीचे दिए गए चित्र में प्रिंट करना -

सबसे पहले यह 1 प्रिंट करेगा और फिर 2 प्रिंट करने के लिए ले जाएगा और इसे तिरछे 4 पर ले जाएगा और इसे प्रिंट करेगा और इसी तरह।
उदाहरण
Input: Matrix [3][3] = {
{ 1, 2, 3 },
{ 4, 5, 6 },
{ 7, 8, 9 }}
Output: 1 2 4 3 5 7 6 8 9 एल्गोरिदम
int diagonally_down(int mat[n][n]) START STEP 1: DECLARE i, j, row, col AS INT STEP 2: LOOP FOR i = 0 AND i < n AND i++ SET row = 0 SET col = i LOOP WHILE col >= 0 PRINT mat[row][col] INCREMENT row BY 1 AND DECREMENT col BY 1 END WHILE END FOR STEP 3: LOOP FOR j = 1 AND j < n AND j++ SET row = j SET col = n-1 LOOP WHILE row < n PRINT mat[row][col] INCREMENT row BY 1 AND DECREMENT col BY 1 END WHILE END FOR STOP
उदाहरण
#include <stdio.h>
#define n 3
int diagonally_down(int mat[n][n]){
int i, j, row, col;
//printing above elements
for (i = 0; i < n; i++){
row = 0;
col = i;
while(col >= 0) //Moving downwards from the first row{
printf("%d ", mat[row++][col--]);
}
}
//printing below elements
for (j = 1; j < n; j++){
row = j;
col = n-1;
while(row<n) //Moving from the last column{
printf("%d ", mat[row++][col--]);
}
}
}
int main(int argc, char const *argv[]){
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