编写一个测试程序,提示用户输入一个n*n的矩阵(n>=6),并输入矩阵中的每个值(自定义)。如果这个矩阵中有四个连续的数字相同,返回true,否则返回false。
时间: 2024-09-18 17:07:56 浏览: 41
daima.rar_JAVA编写5*5矩阵
5星 · 资源好评率100%
编写这样的测试程序可以使用Python语言来实现,因为它的语法简洁并且适合处理这类算法问题。下面是一个简单的示例:
```python
def check_matrix(matrix):
n = len(matrix)
# 遍历矩阵的每个可能的四元素子矩阵
for i in range(n - 3): # 行索引范围
for j in range(n - 3): # 列索引范围
values = matrix[i:i+4, j:j+4] # 取出4x4子矩阵
if all(values[0] == val for val in values.flat): # 检查所有元素是否都等于子矩阵的第一个元素
return True # 如果找到相同的四个连续元素,则返回True
return False # 如果遍历完都没有找到符合条件的情况,返回False
# 获取用户输入的矩阵
while True:
try:
n = int(input("请输入矩阵的行数n(n>=6): "))
if n < 6:
print("n需要大于等于6,请重新输入。")
continue
break
except ValueError:
print("无效的输入,请输入一个整数。")
matrix = []
for _ in range(n):
row = list(map(int, input(f"请输入第{_ + 1}行的数字(用逗号分隔): ").split(',')))
if len(row) != n:
print("行长度应与n相等,请重新输入。")
continue
matrix.append(row)
# 检查矩阵并输出结果
result = check_matrix(matrix)
if result:
print("矩阵中有四个连续的数字相同,返回True.")
else:
print("矩阵中没有四个连续的数字相同,返回False.")
阅读全文