1

配列内の指定された要素の位置を見つけることについて多くのトピックを見てきましたが、それらの解決策を私の問題に適用したり、適切なものを見つけたりすることはできません。

私はギザギザの配列を持っています:

double[][][] _distance = new double[_mapSize][_mapSize][1]; 
//incorrect, but for clarifying array's structure 

そして、最小要素のインデックスを取得する必要があります。

もしも

_distance[2][5][0]

最小です。「2」と「5」を取得する必要があります

前もって感謝します!

4

1 に答える 1

2

以下を試してください

Tuple<int, int, int> minimumIndex = null;
double minimumValue = Double.Max;

for (var i = 0; i < _mapSize; i++) {
  for (var j = 0; j < _mapSize; j++) {
    for (var k = 0; k < _lastDimension; k++) {
      var current = _distance[i][j][k];
      if (current <= minimumValue) {
        minimumValue = current;
        minimumIndex = Tuple.Create(i, j, k);
      }
    }
  }
}

Console.WriteLine("{0} {1} {2}", minimumIndex.Item1, minimumIndex.Item2, minimumIndex.Item3);
于 2012-04-07T18:23:07.110 に答える