11/03/26 12:42:19.04 wSFqRGjR0
配列の操作で困っています。
配列内の最小値の「位置」を知りたいのですが、うまくいきません。
(例)
Dim a[7]
a[0] = 9
a[1] = 5
a[2] = 10
a[3] = 2
a[4] = 6
a[5] = 2
a[6] = 10
a[7] = 3
この例だと最小値の2が格納されている3もしくは5を戻り値として受け取れるような操作を行いたいです。
最小値は「min_a = CALCARRAY(a,CALC_MIN)」で取れることは確認済みなのですが、位置がわかりません。
条件として、
・配列数が不定(最大10)
・格納される数値は最大3桁の整数(実際は3文字のString型をval)
です。
連想配列で「Dim a[7]」を「HASHTBL a」に置き換えて、位置をキーとして数値を値として格納してみましたが、最小値を得る方法がわかりませんでした。
今現在の処理方法として、
min_a = 1000
For b = 0 to 7
ifb a[b] < min_a then
c = b
min_a = a[b]
endif
Next
fukidasi(c)
という処理を行っていますが、変数を多く使わなくてはいけないため、もっと簡単な方法がないか教えてください。