C 如何找到具有最大值的多维数组的索引
我有这个代码示例来查找最长的使用天数,它就像一个符咒。但是我需要得到哪个C 如何找到具有最大值的多维数组的索引,c,arrays,C,Arrays,我有这个代码示例来查找最长的使用天数,它就像一个符咒。但是我需要得到哪个数组索引具有最大值。我尝试了很多方法,但没有找到解决办法。这就是我尝试过的: #include<stdio.h> int main(){ float maximumDayUsage=0,minimumDayDayUsage=0; int whichDayHasMaximumUsage; float usage[7][5]={ {1.2, 2.1, 0.8, 0.0, 4.1},
数组索引
具有最大值。我尝试了很多方法,但没有找到解决办法。这就是我尝试过的:
#include<stdio.h>
int main(){
float maximumDayUsage=0,minimumDayDayUsage=0;
int whichDayHasMaximumUsage;
float usage[7][5]={ {1.2, 2.1, 0.8, 0.0, 4.1},
{1.0, 1.3, 4.0, 1.5, 7.8},
{3.2, 1.0, 1.3, 4.0, 9.5},
{1.5, 3.2, 2.3, 0.4, 7.4},
{1.2, 2.1, 0.8, 0.0, 4.1},
{2.6, 2.1, 1.7, 7.0, 13.4},
{1.2, 2.1, 0.8, 0.0, 4.1} };
for(int i=0;i<7;i++){
for(int j=0;j<5;j++){
if(usage[i][j]>maximumDayUsage){
maximumDayUsage=usage[i][j];
whichDayHasMaximumUsage++;
}else{
}
}
}
printf("Usage: %.2f\n",maximumDayUsage);
printf("Which Day: %d",whichDayHasMaximumUsage);
return 0;
}
#包括
int main(){
float maximumDayUsage=0,MinimumDayUsage=0;
具有最大使用量的int;
浮点用法[7][5]={{1.2,2.1,0.8,0.0,4.1},
{1.0, 1.3, 4.0, 1.5, 7.8},
{3.2, 1.0, 1.3, 4.0, 9.5},
{1.5, 3.2, 2.3, 0.4, 7.4},
{1.2, 2.1, 0.8, 0.0, 4.1},
{2.6, 2.1, 1.7, 7.0, 13.4},
{1.2, 2.1, 0.8, 0.0, 4.1} };
对于(int i=0;i只需在迭代数组时保存最大使用日的i
和j
索引即可:
int max_i = 0;
int max_j = 0;
float maximumDayUsage = 0;
for(int i=0;i<7;i++){
for(int j=0;j<5;j++){
if(usage[i][j] > maximumDayUsage) {
maximumDayUsage = usage[i][j];
max_i = i;
max_j = j;
}
}
}
int max_i=0;
int max_j=0;
float maximumDayUsage=0;
对于(int i=0;i为什么每次你找到一个新的最高值时,你都会增加使用率最高的值?将索引值i
和j
存储在某个地方不是更有意义吗?是的,我想我搞错了。你能告诉我至少一个提示来存储具有最大va的索引
值吗lue???这个max_i
和max_j
怎么能保存具有最大值的索引呢???你能澄清你的答案吗?@user7980830max_i
和max_j
将保存最大值的索引,原因与maximumDayUsage
保存最大值本身的原因完全相同。这是可能是学习如何使用调试器(如GDB)的好时机。请仔细检查您的代码,看看值在您的程序运行时是如何变化的。@squemishossifrage即使我们试图为索引具有最大值的max_i
和max_j
分配值,我如何才能得到哪个索引具有最大值???@user7980830好吧,想一想。maximumDayUsage
如何结束持有最大价值?我算出来了!非常感谢先生:)