我需要在C ++中找到多维数组的最大值和索引,例如,如果我有数组arr
,它有4个维度:
int r[10][10][10][10]
中包含随机值,我需要找到以下形式的解决方案:
max_value:104
max_valu_index:(3,4,8,2)
基本上我正在尝试构建一个3D Hough变换累加器。非常感谢。
答案 0 :(得分:2)
int max = r [0][0][0][0];
int ma = 0, mb = 0, mc = 0, md = 0;
for (int a = 0; a < 10; a++)
for (int b = 0; b < 10; b++)
for (int c = 0; c < 10; c++)
for (int d = 0; d < 10; d++)
{
if (r [a][b][c][d] > max)
{
max = r [a][b][c][d];
ma = a;
mb = b;
mc = c;
md = d;
}
}
printf ("max_value : %d max_value_index : (%d, %d, %d, %d)", max, ma, mb, mc, md);