2015-04-20 29 views
0
int min(int matrix[][MAX], int n){ 
    int i, j; 
    int minimal=matrix[0][0]; 

    for(i=0;i<n;i++){ 
     for(j=1;j<n;j++){ 
      if(matrix[i][j]<minimal){ 
       minimal=matrix[i][j]; 
      } 
     } 
    } 
    return minimal; 
} 

這就是我如何開始的,我發現如何返回包含最小元素的列索引。找到最小元素,然後返回該最小元素所在列的索引

+0

找到最小的好工作!但是你沒有回覆問題所在。那麼你怎麼認爲你可以返回最小元素所在列的索引呢? – ericbn

+2

爲什麼'for(j = 1; j ericbn

+0

我已經聲明int minimal = matrix [0] [0];所以如果我正在尋找一個最小的元素,我想跳過最小的元素,所以這就是爲什麼第二個循環從1開始。 –

回答

1

您可以使用另一個變量column來跟蹤最小元素所在的列。每次找到新的最小元素時,都要更新列值。

int column=0; 
for(i=0;i<n;i++){ 
    for(j=0;j<n;j++){ 
     if(matrix[i][j]<minimal){ 
      column=j; 
      minimal=matrix[i][j]; 
     } 
    } 
} 
return column; 

編輯:j應該從0開始在評論中指出的@ericbn。