求二维数组中最大元素值及其行列号
时间: 2024-10-27 15:03:57 浏览: 13
求二维数组中的最大元素值及其行列号,可以遍历整个数组,每次比较当前元素值是否大于已知的最大值,如果是,则更新最大值以及对应的行号和列号。以下是Python的一个示例代码:
```python
def find_max_in_2d_array(arr):
if not arr: # 如果数组为空
return None
max_value = arr[0][0] # 初始最大值
row, col = 0, 0 # 初始化行号和列号
for i in range(len(arr)):
for j in range(len(arr[i])):
if arr[i][j] > max_value:
max_value = arr[i][j]
row = i
col = j
return max_value, (row, col)
# 示例二维数组
example_array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
max_element, coord = find_max_in_2d_array(example_array)
print(f"最大值是 {max_element},位置是 ({coord[0]}, {coord[1]})")
```
这个函数会返回二维数组中的最大元素及其所在的行和列索引。
相关问题
用c语言求二维数组中最大元素值及其行列号
可以使用以下代码实现:
```c
#include <stdio.h>
int main() {
int matrix[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
int max = matrix[0][0];
int row = 0, col = 0;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
if (matrix[i][j] > max) {
max = matrix[i][j];
row = i;
col = j;
}
}
}
printf("Max value = %d, Row = %d, Column = %d\n", max, row+1, col+1);
return 0;
}
```
这里假设二维数组是一个 3 行 4 列的矩阵,可以根据实际情况进行修改。首先将二维数组中第一个元素设为最大值,然后遍历整个数组,如果遇到比最大值更大的元素,就更新最大值和行列号。最后输出最大值和行列号即可。注意,行列号从 1 开始计数,因为人们习惯从 1 开始计数。
C语言:求二维数组中最大元素值及其行列号 【输入形式】 输入一个3*3的二维数组 【输出形式】 输出二维数组的最大值及其所在的下标 【样例输入】 1 2 3 4 9 6 7 8 9 【样例输出】 9 2 2
下面是C语言的实现代码:
```c
#include <stdio.h>
int main()
{
int arr[3][3];
int max = arr[0][0];
int max_i = 0, max_j = 0;
// 读取数组
printf("请输入3*3的二维数组:\n");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
scanf("%d", &arr[i][j]);
if (arr[i][j] > max) {
max = arr[i][j];
max_i = i;
max_j = j;
}
}
}
// 输出结果
printf("最大值为%d,它的行号为%d,列号为%d\n", max, max_i + 1, max_j + 1);
return 0;
}
```
解释一下代码:
首先,我们定义了一个3*3的二维数组`arr`,以及用来存储最大值和它的行列号的变量`max`、`max_i`和`max_j`。
然后,我们通过两个嵌套的for循环,依次读取用户输入的数组元素,并在读取的过程中,判断是否出现了更大的元素,如果是,则更新最大值和它的行列号。
最后,我们输出最大值和它的行列号,这里需要注意,题目要求的行列号是从1开始计数的,因此我们在输出的时候需要将行列号加1。
示例输入:
```
1 2 3
4 9 6
7 8 9
```
示例输出:
```
最大值为9,它的行号为2,列号为2
```
阅读全文