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

投稿日: 2004/09/09(Thu) 11:17
投稿者ダンボ
URL
タイトルRe^7:完璧です

黒影さん、重ね重ねありがとうございます。美しいです。たった5行にまとめられましたね。

・IIfは処理速度が遅いこと
・アルゴリズムの流れがコーディングからは一目で読み取れない、
の2点が工業製品としてのプログラミングからは排除されるべき欠点でしょうが、今回、
皆さんに提起したのは芸術作品としてのプログラミングですので、これで完成形と思います。

ところで、kazuやん、黒影さんのお2人のアイデアをいただいて、私のコーディングは
下記でFIXしようかと思います。前提条件が少し変わりました。
・3引数では足りない場合もありそうなので4引数、5引数にも対応したい。
・長い文字列のInstr結果ではIntegerではあふれるのでLongとする。
ParamArrayを使う関係上、型宣言がVariantとなりちょっと気持ち悪い。

'**********************************************************
'*  pMin        :引数の中で最小の正値を返す。但しすべて0なら0を返す
'*  i,N(可変)   :いずれも、0または正整数
'*  戻り値      :最小の正値、又は0
'**********************************************************
Private Function pMin(i As Long, ParamArray N() As Variant) As Long

    Dim min As Long  '最小値
    Dim j As Variant

    min = i
    For Each j In N
      min = IIf(min > j, IIf(j = 0, min, j), IIf(min = 0, j, min))
    Next j
        
    pMin = min
End Function


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

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

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