2013-02-10 128 views
-2

我需要在C++中查找多維數組的最大值和索引,例如,如果我有數組arr,它有4個維數: int r[10][10][10][10]其中包含隨機值,I需要找到形式的解決方案:多維數組的最大值索引C++

MAX_VALUE:104

max_valu_index:(3,4,8,2)

基本上我試圖構造一個三維Hough變換累加器。非常感謝。

+0

您是否嘗試過簡單地在3個嵌套循環中行走數組? – cnicutar 2013-02-10 21:16:54

+1

所以繼續做吧。 – 2013-02-10 21:17:47

+0

你有沒有聽說過'loop'? – ogzd 2013-02-10 21:17:58

回答

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); 
+1

我猜'sprintf'你的意思是'printf',因爲沒有目標字符串:) – LihO 2013-02-10 21:24:42