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

投稿日: 2004/09/07(Tue) 16:05
投稿者kazuやん
Eメール
URL
タイトルRe: pMin(i,j,k)

> 先ほどから30分、下記のような関数を考えているのですがどうも美しく出来ません。
> 皆さんも、腕に覚えのある方は、美しいアルゴリズムを考えてみませんか?
> (と、人にやらせてみる)処理効率は問いません。ステップ数の少ないほうが美しいかな。
>
> 関数名:pMin
> 引数:i,j,k  (いずれも、0または正整数)
> 戻り値:i,j,kのうち正で一番小さい値。但し、i,j,kのすべてが0ならば0.

果たして美しいかは微妙ですが、こんな感じでしょうかね^^

'**********************************************************
'*  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
        '最小値初期設定
        min = i
    
        If (min > j) Then min = j
        
        If (min > k) Then min = k
        
        pMin = min
    
    End If

End Function


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

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

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