|
发表于 2023-10-30 17:27:17
|
显示全部楼层
问题1:求4*4二维数组中对角线以下(包括主对角线)的元素之和。
解决方案:
首先,我们需要遍历二维数组的每个元素,并判断其位置是否在对角线以下。对角线以下的元素满足行索引大于等于列索引。
以下是示例代码实现:
- # 定义一个4x4的二维数组
- matrix = [[1, 2, 3, 4],
- [5, 6, 7, 8],
- [9, 10, 11, 12],
- [13, 14, 15, 16]]
- # 初始化对角线以下元素之和为0
- sum_below_diagonal = 0
- # 遍历二维数组的每个元素
- for i in range(len(matrix)):
- for j in range(len(matrix[ i])):
- # 判断元素是否在对角线以下
- if i >= j:
- # 将元素值累加到对角线以下元素之和
- sum_below_diagonal += matrix[ i][j]
- # 打印对角线以下元素之和
- print("对角线以下元素之和为:", sum_below_diagonal)
复制代码
运行以上代码,输出结果为:
问题2:输入一个3*4的矩阵,计算并输出该矩阵的转置矩阵。
解决方案:
转置矩阵是将原矩阵的行和列互换得到的矩阵。对于一个3x4的矩阵,转置后的矩阵为4x3。
以下是示例代码实现:
- # 定义一个3x4的二维数组
- matrix = [[1, 2, 3, 4],
- [5, 6, 7, 8],
- [9, 10, 11, 12]]
- # 初始化转置矩阵
- transposed_matrix = [[0 for _ in range(len(matrix))] for _ in range(len(matrix[0]))]
- # 计算转置矩阵
- for i in range(len(matrix)):
- for j in range(len(matrix[ i])):
- transposed_matrix[j][ i] = matrix[ i][j]
- # 打印转置矩阵
- print("转置矩阵为:")
- for row in transposed_matrix:
- print(row)
复制代码
运行以上代码,输出结果为:
- 转置矩阵为:
- [1, 5, 9]
- [2, 6, 10]
- [3, 7, 11]
- [4, 8, 12]
复制代码
以上是解决您提出的两个问题的具体方法和示例代码。希望能对您有所帮助!如果您有任何疑问,请随时提问。 |
|