C ++程序以Z形式打印矩阵?
在这里,我们将看到如何以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(mat)
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