***すれ立てるまでもない質問はここで 第2刷***

このエントリーをはてなブックマークに追加
79デフォルトの名無しさん
数字が順番にならんでるなら配列にして数字の個数を2で割れ>75
バラバラならソートでも使え。
1 5 6 <-数
0 1 2 <-インデックス
3 / 2 = 1
答え5
8079:2001/05/19(土) 01:27
ソートする場合、完全に行なう必要は無い。2分できればいいだけだから。>75
8174:2001/05/19(土) 01:31
>>79
んー、要素がいっぱいあるならそれでいいのだけど
3個に限られてるのでサクッと出来るようなものがないかなと…。
82>74:2001/05/19(土) 01:34
素直にif使うのが最速だよ。これが遅ければ
Intelにメールして一命令でできるようにしてもらえ。
83デフォルトの名無しさん:2001/05/19(土) 01:40
3こなら、2回の比較で済むだろ>81
8474:2001/05/19(土) 01:52
>>82
そうですね。
なんか嫌なコードになりますが。

>>83
最高とか最低より一回多いのよ。
2回ですむこともあるけど。

みなさま答えてくれてありがとう。
85デフォルトの名無しさん:2001/05/19(土) 01:58
#define center(a, b, c) min(max(a, b), c)
これで合ってるかな??
8674:2001/05/19(土) 02:07
>>85
center(4, 3, 1)
うう、、、。
87デフォルトの名無しさん:2001/05/19(土) 02:23
正しくはこうか?>85
#define center(a, b, c) max(min(a, b), c)
8885:2001/05/19(土) 02:23
ぐはぁ。駄目か。鬱氏。
8985:2001/05/19(土) 02:25
>>87
center(0, 1, 2);
このアイデアは無かったということで。
90デフォルトの名無しさん:2001/05/19(土) 02:25
だめだ>86
center(1, 3, 5)
もうねる
91デフォルトの名無しさん:2001/05/19(土) 02:45
template<class T> T center(vector<T> v)
{
 sort(v.begin(), v.end());
 return v[v.size()/2];
}
92デフォルトの名無しさん:2001/05/19(土) 04:31
やっぱソートした方が良いよ。うん。
93( ´D`):2001/05/19(土) 05:02
>>73 >>75 どうもありがとう。
結局、色々探して下の方法に落ちつきました。
http://www.awave.or.jp/home/tama1769/program/tips/tips0006.htm
94デフォルトの名無しさん:2001/05/19(土) 05:50
#define center(a, b, c) (a<b)?max(min(b, c),a):min(max(b,c),a)
95デフォルトの名無しさん:2001/05/19(土) 15:22
>>94
if-elseの形が変わっただけ?
一応動くけど・・・。