VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 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


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -