| 
             
              ソスソスVisual C++ Q & Aソスfソスソスソスソス
             
           | 
        
ソスEC/C++
        ソスEDelphi
        ソスEVisual BasicソスソスソスSソスソス
        ソス@(VB2-VB6ソスソス.NETソスソスソスp)
        ソスEVisual Basic(VB2-VB6)
        ソスEVisual Basic .NET
        ソスEVisual C++
ソスzソスソスフ抵ソスソスナ茨ソスヤ近ゑソスソスlソスソスソスソス゚ゑソスB
        ソスツまゑソス゚趣ソスソスlソスソスソスソス゚ゑソスヨ撰ソスソスヘなゑソスソスソスフでゑソスソス蛯、ソスソスソスH
        
        ソスソスソスニゑソスソスソス500ソスニゑソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソス鼾ソスB
        
        515
        505
        489
        ソスニゑソスソスソスソスzソスソスフ撰ソスソスソスソスソスソスソスソスソスソスソスソス鼾ソスB
        500ソスノ茨ソスヤ近ゑソスソスソスソスソスソスソス505ソスニゑソスニめゑソス
        ソスヨ撰ソスソスヘなゑソスソスソスフでゑソスソス蛯、ソスソスソスH
ソスソスソスヨ撰ソスソスヘなゑソスソスソスフでゑソスソス蛯、ソスソスソスH
        ソスソスソスフゑソスフゑソスソスホゑソスヘなゑソスソスCソスソスソスソスソスワゑソスソスB
        
        ソスナゑソスzソスソスソス¥ソス[ソスgソスソスソスト探ソスソスソスソスソスト近ゑソスソスlソスソスTソスソスソスソスソス@ソスソスソスlソスソスソスソスソスワゑソスソスB
        
        515
        505
        489
        ソスソス
        489
        505
        515
        
        ソスニゑソスソスソス505ソスtソス゚ゑソス
        abs(500-489)=11
        abs(500-505)=5
        ソスフ撰ソスソスソスソスソスソスソスソスソスソスルゑソスソスソスIソスソスソスソスソスニゑソスソスB
        ソス¥ソス[ソスgソスソスフ探ソスソスソスノはバソスCソスiソスソスソスTソス[ソス`ソスネどゑソスgソスソスソスヌゑソスソスB
ソスソスソスラての抵ソスソスナ最ゑソス゚ゑソスソスAソスニゑソスソスソスソスソスソスニゑソスソスニ最抵ソスPソスソスヘ全ソスvソスfソスソスソスソスソスKソスvソスソスソスソスソスソス
        ソス¥ソス[ソスgソスネど不ソスvソスソスソスニ思ソスソスソスソスBソスソスソスソスソスソスナ鯉ソスワで擾ソスソスノ托ソスソスネめゑソスソスネゑソスソスソスA
        ソスレ標ソスlソスニの搾ソスソスソスソスナ擾ソスソスネゑソスフゑソスロ趣ソスソスソスソスソスホゑソスソスソスナゑソスソスソス
        
        ソス゚傍ソスlソスソスソスソスソスソスソスツ有ソスソス鼾ソスフ選ソスソスソスソス@ソスソスソスソス゚てゑソスソスソスソスKソスvソスソスソスソスソスソス
        500 ソスノ対ゑソスソスソス 501 ソスソス 499 ソスソスソスソスソスソスソスソスソスンゑソスソスソス鼾ソスノどゑソスソスソス闊オソスソスソスフゑソスソスH
> ソス¥ソス[ソスgソスネど不ソスvソスソスソスニ思ソスソスソスソスB
        
        ソスナゑソスソスヒ、ソスレ標ソスlソスニの搾ソスソスソスソスナゑソス゚ゑソス"ソスモゑソスソスソス"ソスソスoソスソスソストゑソスソスソスソスホよさソスソスソスソスソスB
        ソスソスソスソス"ソスモゑソスソスソス"ソスソスソスレ標ソスlソスニ難ソスソスソスソスソスソスソスソスルなゑソスソストゑソスソスソスソスニゑソスソスヌゑソスソスソスソス驍ゥソスヘ別厄ソスソスB
> ソスレ標ソスlソスニの搾ソスソスソスソスナゑソス゚ゑソス"ソスモゑソスソスソス"ソスソスoソスソスソストゑソスソスソスソスホよさソスソスソスソスソスB
        
        ソスソスソス[ソスAソス_ソスソスソス_ソスソスソスB
        
        ソスソスソスニりあソスソスソスソスソスソスソスソスネとゑソスソスソスナ。
        
        #include <iostream>
        #include <algorithm>
        #include <iterator>
        #include <functional>
        
        template<typename T>
        struct norm : std::binary_function<T,T,T> {
          T operator()(T x, T y) const { return std::max(x-y,y-x); }
        };
        
        template<typename T>
        struct norm_less : std::binary_function<T,T,bool> {
          T value_;
          norm_less(T v) : value_(v) {}
          bool operator()(T x, T y) const { norm<T> f; return f(x,value_) < f(y,value_); }
        };
        
        int main(){
          const int N = 8;
          int data[N] = { 1, 2, 3, 3, 5, 5, 6, 7 };
          int target = 4;
          norm<int> n;
          int min_norm = n(*std::min_element(data, data+N, norm_less<int>(target)),target);
          for ( int i = 0; i < N; ++i ) {
            if ( n(target,data[i]) == min_norm ) std::cout << data[i] << ' ';
          }
        }
ソスソスソスソスソスニ、ソスソスソスソスソスト訊ソスソスソスワゑソスソスソスソスソス
        int data[] = { -2147483647, -1, 0, 1, 2147483647};
        int target = 2147483647;
        ソスネ場合ソスノ撰ソスソスソスソスソスソスlソス得ゑソスノはどゑソスソスソスソスワゑソスソスソス
ソスソスソス[... ソスソスソスフ撰ソスホ値ソスソスソスソス゚ゑソスニゑソスソスノオソス[ソスoソス[ソスtソスソスソス[ソスソスソスソスソスソストゑソスソス[...
        
        template<typename T>
        struct norm : std::binary_function<T,T,T> {
          T operator()(T x, T y) const { return x > y ? x - y : y - x; }
        };
        
        ソスソスソストゑソスソスニでゑソスソスソスソスソスソスソスソスソスソスソス?
...ソス_ソスソスソスソスソス[ orz
ソスソスソスソスソスソスワりいソスソスソスソスソスソスソスソスソスソスホなゑソスソスだゑソスソスヌ、ソスソスソスフ抵ソスソスxソスナ具ソスソスソスソストゑソスソスソスソス
        
        template<typename T>
        struct norm : std::binary_function<T,T,T> {
        ソス@T operator()(T x, T y) const {
        ソス@ソス@T diff((x>y)?x-y:y-x);
        ソス@ソス@if (diff<0) diff=std::numeric_limits<T>::max();
        ソス@ソス@return diff;
        ソス@}
        };
ソスeソスソスソスvソスソスソス[ソスgソスフソソス[ソスXソスソスソスソスソスソスナゑソスソスソスネゑソスAソスソスソスソスソスソスソスソスソスソスネ趣ソスソスソスヘゑソスソスト暦ソスソスネゑソスソスCソスソスソスソスソスソスだゑソスソスヌ…ソスソスソスソスソスvソスソスソスフは会ソスソスソスソスソスソスH
> ソスeソスソスソスvソスソスソス[ソスgソスフソソス[ソスXソスソスソスソスソスソスナゑソスソスソスネゑソスAソスソスソスソスソスソスソスソスソスソスネ趣ソスソスソスヘゑソスソスト暦ソスソスネゑソスソスCソスソスソスソスソスソスだゑソスソスヌ…
        
        ソスソスソスソスソスソスソスソスソスソスソスネゑソスソスソスソスAソスソスソスソスソスナなゑソスソスソスソスソスソスソスソスネゑソスソスB
        ソスソスソスソスソスソスノゑソスソスソスLソスソスソスソス:
        
        1. ソスzソスソスフアソス^ソス}ソスソスソスソスPソスcソスワゑソスソスrソス゚て、ソス準ソスlソスノ茨ソスヤ近ゑソスソスlxソスソスミとつ鯉ソスソスツゑソスソスソスB
        2. ソスト度ソスzソスソスソスAソス^ソス}ソスソスソスソスPソスcソスワゑソスソスrソス゚ゑソス(1)ソスナ具ソスソス゚ゑソス"xソスニ基準ソスlソスニの搾ソス"ソスニ難ソスソスソスソスソスソスソスソスソスツ要ソスfソスソス挙ゑソスソスソスB
        # ソスソスツ鯉ソスソスツゑソスソス驍セソスソスソスナゑソスソスソスソスフなゑソスA(2)ソスヘ不ソスvソスB
ソスソスソスソスソスソスソスソスvソスソスソスBソスソスソスソスソスソスソスソスlソス^ソスノゑソスソスト楽ソスソスソスワゑソスソストゑソスソスソスソストゑソスフは否定しソスネゑソス
        
        ソスソスソスソスソスPソスノ探ソスソスソスソスソスソスソスフCソスTソスソスソスvソスソスソスソス示ゑソスソストみゑソスB
        ソスソスフ厄ソスソス_ソスヘゑソスソスフまま残ソスソスソストゑソスソス驍オソスAソスソスソスソスネ外ソスノゑソスワゑソスソスソスソスニゑソスソスソスソスソスソスソスB
        ソスTソスソスソスソスソスソスソスネら無ソスハな擾ソスソスソスソスソスソスソスソストゑソスBソスソスソスツゑソスソスト修ソスソスソスAソスヘ宿ソスソスノゑソスソスニゑソスソスソスソスB
        int find_nearest(int target, const int* a, size_t n) {
        ソス@int result=*a;
        ソス@int nearest_err=abs(*a-target);
        ソス@for (--n,++a; n>0; --n,++a) {
        ソス@ソス@int err=abs(*a-target);
        ソス@ソス@if (err<nearest_err) { nearest_err=err; result=*a; }
        ソス@}
        ソス@return result;
        }