本关任务:编写一个程序,求一个4行4列的整数矩阵的鞍点。注意:一个矩阵可能有0到多个鞍点。 提示:可以考虑用反证法实现,即先假设矩阵中目标元素是鞍点,如果发现该元素所在行中还有元素比其大,或者该元素所在
时间: 2024-02-03 22:14:28 浏览: 81
2,rsac语言源码库,c语言程序
列中还有元素比其小,则该假设不成立。
以下是一个Python程序,用于找到一个4x4的整数矩阵的鞍点:
```python
matrix = [[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
[13, 14, 15, 16]]
saddle_points = []
for i in range(4):
for j in range(4):
# Check if element at (i, j) is the maximum in its row
max_in_row = True
for k in range(4):
if matrix[i][k] > matrix[i][j]:
max_in_row = False
break
# Check if element at (i, j) is the minimum in its column
min_in_col = True
for k in range(4):
if matrix[k][j] < matrix[i][j]:
min_in_col = False
break
# If element at (i, j) is both max in row and min in col, it is a saddle point
if max_in_row and min_in_col:
saddle_points.append((i, j))
print("Saddle points:")
for point in saddle_points:
print(f"({point[0]}, {point[1]})")
```
这个程序首先定义了一个4x4的整数矩阵。然后它遍历每个元素,对于每个元素,它检查它是否是它所在行的最大值,并且是否是它所在列的最小值。如果是,它就将该元素添加到鞍点列表中。最后,程序打印出所有找到的鞍点。
注意,一个矩阵可能有0到多个鞍点。在上面的例子中,由于矩阵是按顺序填充的,所以它没有鞍点。
阅读全文