2013-06-14 3 views
1

Так что я пытаюсь сделать, если найти индекс числа в определенной строке. Я нашел min, все, что мне нужно сделать, это найти индекс номера в определенной строке.Поиск индекса числа в двумерном массиве

i передал значения 3 и массив cityDis - closestCity(int, int [][]) метод.

Я понял, что минимальное значение в строке 3 равно 80 (без учета 0). теперь все, что мне нужно, это найти индекс 80 в строке 3

есть ли способ сделать это?

int [][] cityDis = { {0, 10, 50, 100,}, {10, 0, 20, 80}, {50, 20, 0, 90,}, {100, 80, 90, 0} }; 

public int closestCity(int city, int arr [][]) 
{ 
     int min = Integer.MAX_VALUE; 
     for (int j = 0; j < arr[city].length; j++) //finds the min (disregarding 0) 
      if ((arr[city][j] < min) && (arr[city][j] != 0)) 
       min = arr[city][j]; 
     for (int j = 0; j < arr[city].length; j++) 
      if (arr[city][j] = min) 
       //this is where i get confused. I just want to find the index for just one row. 
     return 0; 
} 

ответ

1

Ваш индекс вашего массива Params так, город и J Ваши показатели

Хорошо, так что вы могли бы сделать что-то вроде следующего:

if(arr[city][j] == min) 
    int rowindex = j; 
    int colindex = city; 
+0

oh wow! это действительно так просто! Благодаря! Im новое в массивах LOL – Bob

1
return j; 

вместо вашего комментария. Это должно сделать это.

Значение «j» : указатель, который вы ищете! Когда вы вернетесь в этот момент, все готово!

+0

Ух ты! это действительно так просто! Благодаря! Im new at arrays lol – Bob

Смежные вопросы