📜  打印矩阵对角线的程序(1)

📅  最后修改于: 2023-12-03 15:39:41.967000             🧑  作者: Mango

打印矩阵对角线的程序介绍

矩阵的对角线是指从左上角至右下角的对角线和从右上角至左下角的对角线。本篇介绍如何编写一个程序,打印出一个矩阵的对角线元素。

实现思路

我们可以通过两层循环遍历整个矩阵,对于每个元素,如果它位于左上角至右下角的对角线或右上角至左下角的对角线上,我们就将其打印出来。

具体实现为,在第一层循环中遍历每一行,在第二层循环中遍历每一列,判断当前元素是否位于一个对角线上。如果是,则打印它。

其中,如何判断一个元素是否位于对角线上呢?我们可以发现,一个元素的行坐标和列坐标相等时,它位于左上角至右下角的对角线上。而一个元素的行坐标和列坐标之和为 n-1 时(其中 n 为矩阵的行数或列数),它位于右上角至左下角的对角线上。

代码实现

下面是一个 Python 实现的示例代码。假设我们有一个 4 行 5 列的矩阵 matrix

matrix = [
    [1, 2, 3, 4, 5],
    [6, 7, 8, 9, 10],
    [11, 12, 13, 14, 15],
    [16, 17, 18, 19, 20]
]

则我们可以按照上述思路编写代码:

rows = len(matrix)
cols = len(matrix[0])

# 打印左上角至右下角的对角线
for i in range(rows):
    for j in range(cols):
        if i == j:
            print(matrix[i][j])

# 打印右上角至左下角的对角线
for i in range(rows):
    for j in range(cols):
        if i + j == rows - 1:
            print(matrix[i][j])

上面的代码先计算出矩阵的行数和列数,然后分两次循环打印两条对角线。每次循环中,判断当前元素的行坐标和列坐标是否满足对角线的条件,如果是,则将其打印出来。

总结

本篇介绍如何编写一个程序,打印一个矩阵的对角线元素。我们可以使用两层循环遍历整个矩阵,并判断每个元素是否位于对角线上。如果是,则打印出来。需要注意的是,在判断对角线上的条件时,行坐标和列坐标的关系需要特别注意。