二维数组找最值

从键盘输入m(2<=m<=6)行n(2<=n<=6)列整型数据,编程找出其中的最大值及其所在位置的行列下标值并输出。

输入格式:

在第一行输入数据的行数m和列数n的值,从第二行开始以二维数组的形式依次输入m行n列整型数据。

输出格式:

依次输出最大值及其所在位置的行列下标值,中间以逗号,分隔,最后换行。

输入样例:

3 4
1 2 3 4
8 9 7 6
5 6 7 0

结尾无空行

输出样例:

9,1,1
#include<stdio.h>
int main()
{
	int m = 0, n = 0;
	int s[6][6] = { {0} };
	scanf("%d %d", &m, &n);
	int i = 0, j = 0, xia1 = 0, xia2 = 0;
	//数组输入
	for (i = 0; i < m; i++)
	{//行
		for (j = 0; j < n; j++)
		{//列
			scanf("%d", &s[i][j]);
		}
	}
	int max = s[0][0];
	for (i = 0; i < m; i++)
	{
		for (j = 0; j < n; j++)
		{
			if (s[i][j] > max)
			{
				max = s[i][j];
				xia1 = i;
				xia2 = j;
			}
		}
	}
	printf("%d,%d,%d", max, xia1, xia2);
}

 

### 回答1: 要按求三维数组的最值,可以使用numpy库的amax和amin函数。其中amax函数用于求取最大值,amin函数用于求取最小值。在三维数组中,axis=0表示按照第一个维度求取最值,axis=1表示按照第二个维度求取最值,axis=2表示按照第三个维度求取最值。因此,如果要按照求取最值,可以使用axis=2的参数。示例如下: ```python import numpy as np arr = np.array([[[1, 2, 3], [4, 5, 6]], [[-1, -2, -3], [-4, -5, -6]]]) print(np.amax(arr, axis=2)) # 输出每最大值 print(np.amin(arr, axis=2)) # 输出每的最小值 ``` 输出结果为: ``` [[3 6] [-1 -4]] [[-1 -4] [-3 -6]] ``` ### 回答2: 使用numpy库的argmax和argmin函数可以按求一个三维数组的最大值和最小值的索引。首先,我们需要导入numpy库: import numpy as np 假设我们有一个三维数组arr,形状为(m, n, p),其中m表示数,n表示数,p表示每个元素的个数。现在我们想到每一中的最大值和最小值。我们可以使用argmax和argmin函数按遍历数组并返回最大值和最小值的索引: # 生成一个三维数组 arr = np.random.randint(0, 10, (4, 3, 2)) print("原始数组:") print(arr) # 求每一最大值索引 max_indices = np.argmax(arr, axis=2) print("每一最大值索引:") print(max_indices) # 求每一的最小值索引 min_indices = np.argmin(arr, axis=2) print("每一的最小值索引:") print(min_indices) 在上面的代码中,使用np.argmax(arr, axis=2)可以返回每一最大值的索引,其中axis=2表示按照第三维度(即每个元素的个数)进计算;同样,np.argmin(arr, axis=2)可以返回每一最小值的索引。 希望以上解答对您有帮助! ### 回答3: 在NumPy中,我们可以使用`numpy.amax`函数按求三维数组的最大值,使用`numpy.amin`函数按求三维数组的最小值。以下是按求三维数组最值的示例代码: ```python import numpy as np # 创建一个三维数组 arr = np.array([[[1, 2, 3], [4, 5, 6], [7, 8, 9]], [[10, 11, 12], [13, 14, 15], [16, 17, 18]], [[19, 20, 21], [22, 23, 24], [25, 26, 27]]]) # 按最大值 max_values = np.amax(arr, axis=2) print("按最大值:") print(max_values) # 按求最小值 min_values = np.amin(arr, axis=2) print("按求最小值:") print(min_values) ``` 上述代码中,我们首先创建了一个三维数组`arr`,然后使用`numpy.amax`函数按照`axis=2`的维度,也就是按的方向,求出了每一最大值并保存在`max_values`中。同样地,使用`numpy.amin`函数按的方向求出了每一的最小值并保存在`min_values`中。最后,打印出最大值和最小值的结果。 以上代码输出结果如下: ``` 按最大值: [[ 3 6 9] [12 15 18] [21 24 27]] 按求最小值: [[ 1 4 7] [10 13 16] [19 22 25]] ``` 我们可以看到,按最大值得到了每一最大值数组,按求最小值得到了每一的最小值数组。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值