本关任务:输入输出M行N列的二维数组所有元素的值,并且求最大元素的值及其所在的行号和列号,要求每个模块都用函数完成
时间: 2023-12-12 20:03:29 浏览: 262
cpp代码-大作业第二题: 输入一个5行5列的二维数组,编程实现: (1) 求出其中的最大值和最小值及其对应的行列位置; (2) 求出上三角上各元素之和(上三角的元素a[i][j] ,i+j<5)。
5星 · 资源好评率100%
好的,我来帮你完成这个任务。我们可以分为以下几个模块:
1. 输入M行N列的二维数组;
2. 输出二维数组所有元素的值;
3. 求最大元素的值及其所在的行号和列号。
那我们就先来写第一个模块,输入M行N列的二维数组。我这里给出一个示例代码:
```python
def input_array(m, n):
"""
输入M行N列的二维数组
:param m: 行数
:param n: 列数
:return: 二维数组
"""
array = []
for i in range(m):
line = input().split()
line = [int(x) for x in line]
array.append(line)
return array
```
这个函数的作用是输入M行N列的二维数组,其中参数m和n分别表示行数和列数。我们先定义一个空列表array,然后在循环中输入每一行的数据,并将其转换成整数类型,最后将其添加到array中。最后返回array即可。
接下来是第二个模块,输出二维数组所有元素的值。这个模块比较简单,我们只需要遍历整个二维数组,将每个元素输出即可。这里给出示例代码:
```python
def print_array(array):
"""
输出二维数组所有元素的值
:param array: 二维数组
"""
for i in range(len(array)):
for j in range(len(array[0])):
print(array[i][j], end=' ')
print()
```
这个函数的作用是输出二维数组所有元素的值,其中参数array就是我们输入的二维数组。我们先使用len()函数获取二维数组的行数和列数,然后使用两个for循环遍历整个二维数组,将每个元素输出即可。
最后是第三个模块,求最大元素的值及其所在的行号和列号。这个模块稍微有点复杂,但也不难。我们可以使用两个变量记录最大元素的值和其所在的行号和列号,然后遍历整个二维数组,找到最大元素并更新这三个变量的值。最后返回最大元素的值和其所在的行号和列号即可。这里给出示例代码:
```python
def find_max(array):
"""
求最大元素的值及其所在的行号和列号
:param array: 二维数组
:return: 最大元素的值及其所在的行号和列号
"""
max_value = array[0][0]
row = 0
col = 0
for i in range(len(array)):
for j in range(len(array[0])):
if array[i][j] > max_value:
max_value = array[i][j]
row = i
col = j
return max_value, row + 1, col + 1
```
这个函数的作用是求最大元素的值及其所在的行号和列号,其中参数array就是我们输入的二维数组。我们先将max_value初始化为二维数组的第一个元素,然后使用两个变量row和col记录最大元素的行号和列号。接下来使用两个for循环遍历整个二维数组,如果发现当前元素大于max_value,则更新max_value、row和col的值。最后返回max_value、row和col即可。
最后,我们将这三个模块组合起来,完整的代码如下:
阅读全文