gpt4 book ai didi

java - 如何找到二维数组的最大值和最小值的位置

转载 作者:搜寻专家 更新时间:2023-11-01 02:38:39 25 4
gpt4 key购买 nike

我不知道我是否清楚这一点,但我已经正确打印出最小值和最大值,但我似乎无法弄清楚如何说出它们所在的确切行和列。这是我到目前为止所拥有的;

double max = m[0][0];
double min = m[0][0];
System.out.println("The matrix is : ");

for(int i = 0; i < m.length; i++)
{
for ( int j = 0; j < m[i].length; j++ )
{
System.out.printf(" " + "%6.1f " , m[i][j]);
if (m[i][j] > max)
max = m [i][j];

else if
(m[i][j] < min)
min = m [i][j];

我怎样才能发表声明说出他们的位置?例如:(“最大数量在第 1 行,第 2 列”)类似的东西......我真的很感激任何帮助

最佳答案

参见下面的修改。我添加了变量来跟踪最小值和最大值的索引。在循环结束时,您可以简单地打印出 maxIndex1 , maxIndex2 , minIndex1 , 和 minIndex2 .

double max = m[0][0];
double min = m[0][0];

//declare variables to track the indices of the min and max
int maxIndex1 = -1;
int maxIndex2 = -1;
int minIndex1 = -1;
int minIndex2 = -1;

System.out.println("The matrix is : ");
for(int i = 0; i < m.length; i++)
{
for ( int j = 0; j < m[i].length; j++ )
{
System.out.printf(" " + "%6.1f " , m[i][j]);
if (m[i][j] > max)
{
max = m [i][j];
//record the indices of the new max
maxIndex1 = i;
maxIndex2 = j;
}
else if (m[i][j] < min)
{
min = m [i][j];
//record the indices of the new min
minIndex1 = i;
minIndex2 = j;
}

请注意,如果您有两个相等的值并且与数组中的最大值相关联,则只会记录两者之一。如果您想记录最小/最大值的所有关系的位置,您可以将其更改为保存坐标列表而不是单个坐标。

关于java - 如何找到二维数组的最大值和最小值的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39861810/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com