tagCANDY CGI VBレスキュー(花ちゃん) - VBレスキュー(花ちゃん)の投稿サンプル用掲示板 - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VBレスキュー(花ちゃん)の投稿サンプル用掲示板
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
引数の中で最小の正値を返す関数(VB6.0)_3 ( No.3 )  [親スレッドへ]
日時: 2011/04/05 13:07
名前: 花ちゃん

***********************************************************************************
* カテゴリー:[基本コード][][]                                               *
* キーワード:プロシージャ,複数の引数,配列処理,コードの簡略化,,                   *
***********************************************************************************

---------------------------------------------------------------------
Re^3: これは? - kazuやん   2004/09/07-17:27 No.334
---------------------------------------------------------------------
こんなのでしたらどうでしょうか?
さっきよりちょっと美しくなくなってしまいますが^^

ちょっと気になったのが引数は絶対に数値と決まっているのでしょうか?
もしそうでなければ、宣言を以下にして
Function pMin(i, j, k) As Integer
引数それぞれの整数チェックを入れる事をお勧めします。

'**********************************************************
'*  pMin        :引数の中で最小の正値を返す。但し3つとも0なら0を返す
'*  i,j,k       :いずれも、0または正整数
'*  戻り値      :最小の正値、又は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
        ElseIf k <> 0 Then
            min = k
        ElseIf j <> 0 Then
            min = j
        End If
        
        'Betweenみたいのがあればもっと美しくなるのかな?
        'それとももっと簡略化したif文の書き方があるかもしれません^^
        If (min > j) And (j > 0) Then min = j
        
        If (min > k) And (k > 0) Then min = k
        
        pMin = min
    
    End If

End Function



 [スレッド一覧へ] [親スレッドへ]