[過去ログ] VBAなんでも質問スレ Part2 [転載禁止]©2ch.net (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
372(2): 2017/09/20(水)05:37 ID:mkPuPLWs(2/2) AAS
>>370
x = 33
y = 12
z = 3
If x < y And x < z Then
最小値 = x
ElseIf y < x And y < z Then
最小値 = y
Else
最小値 = z
End If
373: 2017/09/21(木)21:28 ID:j1SDXypf(1) AAS
>>372
>>371
明確な答えをありがとうございます。
やはりIFの場合は372が妥当なようですね。
374: 2017/09/21(木)22:56 ID:8rkXkN3+(1) AAS
>>372は < じゃなくて <= にしないと誤判定する
375(1): 2017/09/22(金)06:56 ID:zUC9dslV(1/2) AAS
例題の対象が3ではなくて1000とかに増えたら破綻するだろw
376: 2017/09/22(金)07:13 ID:TPoybrYY(1) AAS
>>375
数字3つという前提を勝手に変えるこういう馬鹿はなんだろう
377: 2017/09/22(金)09:34 ID:KphHXryq(1/2) AAS
汎用性を考慮しないのか。
なかなかひどい。こういう人もいるという参考になったわ。
378: 2017/09/22(金)09:37 ID:oVXNeyl2(1) AAS
ソートアルゴリズム書くだけやん
379(1): 2017/09/22(金)09:54 ID:yLI54yGL(1/2) AAS
372のはアルゴリズムと言うよりその場しのぎの対応
380: 2017/09/22(金)10:13 ID:yLI54yGL(2/2) AAS
配列に入れてループで最小値と比較して小さければ最小値を更新していくのが定石なのでは。
381: 2017/09/22(金)10:29 ID:WIc1mdfR(1) AAS
だからMin関数で一発なのに、無駄に車輪の再発明をしたがるやつが多くてリンダ困っちゃう
382: 2017/09/22(金)10:32 ID:4is4PUWl(1) AAS
>>379
順次比較も立派なアルゴリズムの一種なんだが
383: 2017/09/22(金)14:42 ID:KphHXryq(2/2) AAS
これはひどい
384: 2017/09/22(金)14:57 ID:WETwNkme(1) AAS
IF初心者とか言ってる人に何言ってるんだか
あといつからこのスレはEXCEL VBA限定になったんだ
385: 2017/09/22(金)20:39 ID:zUC9dslV(2/2) AAS
>elseや入れ子で複数書けば判定できる
>最も簡潔に記述するとしたらどんな
という問いに、elseや入れ子の回答するのは無能以前に答えになってないのとちがう?
386(1): 2017/09/22(金)22:15 ID:250/7oh7(1) AAS
え?え?日本語理解できてる?
質問には「Elseを使わずに」なんてどこにも書いてないぞ
ざっくり意訳すれば「IfとElseの数を最小に」する方法を聞いてるんだろ
387: 2017/09/23(土)06:12 ID:6cN/4Ux4(1) AAS
372のは374が書いてるように、例えば
x=1
y=1
z=3
と入れただけで誤判定する。アルゴリズムの最低限を割ってるぞ。
372がベストアンサー(笑)だと質問者が思ったなら気の毒なので念のため。
388(1): 2017/09/23(土)07:50 ID:nAanI8EG(1) AAS
そもそも計算量も最少じゃないしな
普通に
最小値 = x
If y < 最小値 Then 最小値 = y
If z < 最小値 Then 最小値 = z
ってやる方がわかりやすい
389: 2017/09/23(土)10:07 ID:hX9NlXap(1) AAS
うん、ベストアンサーはMin使った方だね。
俺だったら迷わずMin使用する。
同時にMin使わない方法も考える。
配列ループも考えた。
でも、別にIf文使っても良いんじゃない?
そんな目くじらを立てるようなことじゃない。
390: 2017/09/23(土)12:22 ID:/uotOgAp(1) AAS
>>386が分かってないバカ多すぎw
391: 2017/09/23(土)14:36 ID:OMtgmcpv(1) AAS
だから372はif elseだとしても最小(計算量的に)の答えにもなってないし、そもそも答えとして間違ってるって話だろ
392(1): 2017/09/23(土)17:06 ID:HTwX+3ra(1) AAS
それは勉強する奴と仕事にしてる奴のスタンスの違いだな。
仕事にしてる奴はIfを使わなきゃならないなんてことに遭遇しないから、はなっから抜けてる。
393(1): 2017/09/23(土)23:00 ID:9AVefP05(1/2) AAS
必ずIfを使う縛りなら>>388がベストアンサー
ソートアルゴリズムの最初の1回目のループを展開してるだけなんだけど、基本中の基本のやり方
394(1): 2017/09/23(土)23:28 ID:UvR7p8sn(1) AAS
>>392
if文の使い方を聞かれてmin()関数を教えるような人はプログラムを仕事にしないで欲しいのです
いえ、仕事をしないで欲しいのです
395(1): 2017/09/23(土)23:49 ID:9AVefP05(2/2) AAS
仕様書はちゃんと読んで、条件は無視しちゃいけないよね
396: 2017/09/24(日)02:12 ID:3B64fACL(1) AAS
勉強のため何が何でもIfだけで解決しなきゃいけなかったのか、
まだ初心者だからMinという便利な物があることを知らなかったのか
それによって変わってきちゃうからー
397: 2017/09/24(日)08:43 ID:LX+6AD0q(1) AAS
>>395
仕様書ならそれが正解
しかし案件定義なら顧客が何をしたいかを読み取ってより良い方法を提案することも必要
そもそも>>370にはIf使えとは書いてないし
398(1): 2017/09/24(日)09:20 ID:SDtHFGLj(1) AAS
>>394
分かってねえなあ。
勉強を教える仕事じゃないならユーザーにとって一番使いやすいとか、速度が速いとか、ユーザーが満足するようなものかどうかが大事なのであって、どんなコードじゃなければならないとかの要望は普通無い。
そして、メンテナンス性とかコードの書き方に関してもMinの方が良いとなればそもそもの問い掛け自体仕事で発生することは無い。
そして実際には、何でMinじゃ駄目なのと問い掛けられない奴は仕事の出来ない奴ということになる。
(もちろん明確に理由が有るならIfで書く。)
指示通りにしか作れない奴じゃ単なるコーダって奴になるしかない。
仕事ではMinを使わないなら明確な理由が存在するし、打ち合わせなんかのやり取りで既に意思統一されてる筈だ。
つまり今回の問い掛けのような事態は存在しない。
399: 2017/09/24(日)10:07 ID:lViLIhLn(1) AAS
>>393
だな、簡素で分かりやすく奇麗なコードだ
400(1): 2017/09/24(日)15:00 ID:3BjqQEbI(1) AAS
>>398
なんか仕事をしてる体で話してますけど
あなたの想像上の仕事では自分にとって都合の悪い事態は存在しないのですね
さぞかし楽しかろうとは思いますが
あなたは社会に出ないでください
401: 2017/09/24(日)16:46 ID:jWeMnfEt(1) AAS
>>400
仕事をしたことの無い奴には分かるまいw
上下前次1-新書関写板覧索設栞歴
あと 601 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.011s