เราจะมาดูวิธีการพิมพ์องค์ประกอบเมทริกซ์ในรูปแบบ Z ดังนั้นหากอาร์เรย์อยู่ด้านล่าง −
5 8 7 1 2 3 6 4 1 7 8 9 4 8 1 5
จากนั้นจะพิมพ์ดังนี้:5, 8, 7, 1, 6, 7, 4, 8, 1, 5
อัลกอริทึม
printMatrixZ(เสื่อ)
Begin print the first row i := 1, j := n-2 while i < n and j >= 0, do print mat[i, j] i := i + 1, j := j - 1 done print the last row End
ตัวอย่าง
#include<iostream> #define MAX 4 using namespace std; void printMatrixZ(int mat[][MAX], int n){ for(int i = 0; i<n; i++){ cout << mat[0][i] << " "; } int i = 1, j = n-2; while(i < n && j >= 0){ cout << mat[i][j] << " "; i++; j--; } for(int i = 1; i<n; i++){ cout << mat[n-1][i] << " "; } } main() { int matrix[][MAX] = {{5, 8, 7, 1}, {2, 3, 6, 4}, {1, 7, 8, 9}, {4, 8, 1, 5} }; printMatrixZ(matrix, 4); }
ผลลัพธ์
5 8 7 1 6 7 4 8 1 5