投稿日 | : 2004/09/07(Tue) 16:39 |
投稿者 | : ダンボ |
URL | : |
タイトル | : Re^2: pMin(i,j,k) |
kazuやん さん、どうもありがとうございます。美しいです。
ソートでないのだから「必要最小限の比較にしろ」というところでしょうか。
。。すみません。。前提が間違えていました。
(誤) pMin :引数の中で最小の値を返す。但し3つとも0なら0を返す
(正) pMin :引数の中で最小の正値を返す。但し3つとも0なら0を返す
kazuやん さんのコーディングを流用してこんなにしてみましたが、pMin(6,0,32)=0
となってしまいましたわ(理由は分かる)。もう少し自分で考えて見ますね。
Function pMin(i As Integer, j As Integer, k As Integer) As Integer
Dim min As Integer '最小値
'全て0の場合
If (i Or j Or k) = 0 Then
pMin = 0
Else
'最小値初期設定
If i > 0 Then
min = i
If (min > j) Then min = j
If (min > k) Then min = k
pMin = min
End If
If j > 0 Then
min = j
If (min > i) Then min = i
If (min > k) Then min = k
pMin = min
End If
If k > 0 Then
min = k
If (min > j) Then min = j
If (min > i) Then min = i
pMin = min
End If
End Function