////////////////////////////////////////////////////////////////////
LbvPPOԂebI[i[VXe

Ab̐VrWlXI

Tɂ͂Ȃ̓rWlXI[i[ɂȂ鎖o܂IiLbpj

̈Ӗ́EEEIH

http://af1.mag2.com/m/af/0000008658/001/s00000004635001/032
////////////////////////////////////////////////////////////////////
/*

    KAB-studio.h


    (C)KAB-studio 1999 - 2006 ALL RIGHTS RESERVED.
        http://www.kab-studio.biz/
        info@mail.kab-studio.biz

    MF 2006/09/04(Mon) No.372
    zMF 1715
    sF ܂܂ ( URL: http://www.mag2.com/  ID: 0000012198 )
*/
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
// NEW!!
http://www.kab-studio.biz/index.html

2006/09/04 (Mon)
@#pragma twice z[y[WłɃA[JCuǉI
16.20 I[o[[h̑I
16.21 Zq̃I[o[[h̎
[ #pragma twice ]
http://www.kab-studio.biz/Programing/PragmaTwice/index.html


////////////////////////////////////////////////////////////////////
// 储ʂȓL
http://www.kab-studio.biz/nikki2/index.html

2006/08/27 (Sun)
@PONBߑO͒XVBߌ͂[B[قƂ́[O`R
`B

2006/08/28 (Mon)
@̂dBߑO͂G`B[܂ł[BƂ̏ɁB
̂߂̏ɎԊ|BOƂuǂ܂ł邩vB

2006/08/29 (Tue)
@ߑȌ͖BߌɋqŃZbgAbvBS̐
ɌߌV܂Ŋ|BAɏHtցB

2006/08/30 (Wed)
@RԂƁBȑOƓCyBoBd
Ƒ̂ɓBꂽǁB

2006/08/31 (Thu)
@ƂQځBl^؂BX|XBDG͗DGBAɐVh
ărWlXL[wBWɋAĂĂ[B

2006/09/01 (Fri)
@܂gbvZ[XVłĂȂBƍŏIBu`Ɉ݉
QBו܂ꂽۂBču`󂯂Ă݂B

2006/09/02 (Sat)
@epCB̗͓IɌEBɗpB}WAJt@ubNƂ
wBWILLCOMdbB܂ĂAjςƂB


////////////////////////////////////////////////////////////////////
// Ԃ낮B
http://d.hatena.ne.jp/kab_studio/

2006/08/27 (Sun)
http://d.hatena.ne.jp/kab_studio/20060827
NccB
[KAB-studio]ՂƂǉB
[KAB-studio]KAB-studio.hkōXV
[KAB-studio][قƂ́[]قƂ́[O`R P.69
[Aj]uv 22buL̖Hv
[Aj]˂}CfB`邭VbtI` 
@22buET~~CCiIv
[Aj]Ђ炵̂Ȃ 21buږҁ@̘Z@f߁v

2006/08/28 (Mon)
http://d.hatena.ne.jp/kab_studio/20060828
NccB
[G]Chi
[G]p^[cc
[Aj]ARIA The NATURAL 22bAp[gú@ӂ[hŁcv
[Aj]ARIA The NATURAL 22bBp[gú@ANA҂́cv
[Aj][̎g 9buCY̕ϐSv
[Aj] 21bu啕v

2006/08/29 (Tue)
http://d.hatena.ne.jp/kab_studio/20060829
NB
AĂB
[]܂񂪃^CCarat 2006N10
[]uŔ́B
[Aj]NEHEKɂ悤I 8bu؊Xɂ悤Iv

2006/08/30 (Wed)
http://d.hatena.ne.jp/kab_studio/20060830
N܂B
AĂB
犴zǉB
[Aj]ZzXg 22buyɒquv

2006/08/31 (Thu)
http://d.hatena.ne.jp/kab_studio/20060831
N
AĂ
[]^ZRCA͂߂܂
[][]ACE GENE A[} 62132 4փg[[
sakusakuE􏬕ƓR̂
[Aj][[KyC 22buWtFC^Xv

2006/09/01 (Fri)
http://d.hatena.ne.jp/kab_studio/20060901
NB
AĂcc񂾂ǁccB
[Aj]GŔ 17buv
[Aj]GŔ 18bulv

2006/09/02 (Sat)
http://d.hatena.ne.jp/kab_studio/20060902
N
AĂ
Ȃ[ˁB
[]T|[gRCT[rXŋ@ύXLbVobN
@ccłȂcc
ו܂ꂽccB
[]{ŔĂ
[link]u莆@v
[Aj]l 12bûv
[Aj]ʉ_ 18buBĐKBv
[Aj]Ƃem Ԃ 10buN̗FBv
[Aj]ӂ́ӂP Gyu! 
@23buȂI|CgAbvv
[Aj]EBb`uCh 21buv


////////////////////////////////////////////////////////////////////
// AjaxŃGQ[uO
http://d.hatena.ne.jp/AjaxEroge/

iT͂x݂łj


////////////////////////////////////////////////////////////////////
// A
http://www.kab-studio.biz/Novel/Fuga/index.html

@\ĺ@̉Ɓ@|PT|

@e͘rɎhԂ܂B
@ɔwォł֎qɓBUԂȂ
邩Ƃe[u@tAȇ̂͏𒵂˂B
@𒵂˂Ȃ̐𗧂ĒAԔꂸVll߂Ɉ
q@tBVl͊̉EӂԐFɐ܂Ă
AłЂނƂȂU𑱂B
u}CIv
@tBI̐ɕ͗オrU邤B
@ĎéAǑւƒ˂ăVlƂ̋Ar
グA
w@AoIx
@rǂւƒ@tBՌŕǂɑ匊󂫁AށB
uI@߁Iv
wnƁ\\x
@Vlƕǂ钆Ae͊OւƔяoAuŋւƏ
B
uccv
uẮAǂȂƁII@ccbv
@@C̔Ƃ͑ΏƓIɁAVl͂ǂĔяo
AꂽʂĕꗎB
uI@VlI@tBI߂A͂搶Ăłāv
uʖځI@cce̕AԂȂv
uAeācc킩AtBIAɂS݂v
@tBI͐ȂȂBȑOɁA~[oC͂ȂA
̏ɂႪݍށB
uccAނ́Hv
@ǉɁÂ߂Ȃ烊VlւƋ߂ÂB̉ł́A
Nӂ̂悤ɌċzrĂBȀ͉񕜂Ă悤
ɌB
uccIv
@Vl͕ǂ@A̕sbȂB
                                                              ()

////////////////////////////////////////////////////////////////////
// JavaA2Z
http://www.kab-studio.biz/Programing/JavaA2Z/index.html

ǉEXVP

iT̒ǉ͂܂j


////////////////////////////////////////////////////////////////////
LbvPPOԂebI[i[VXe

Ab̐VrWlXI

Tɂ͂Ȃ̓rWlXI[i[ɂȂ鎖o܂IiLbpj

̈Ӗ́EEEIH

http://af1.mag2.com/m/af/0000008658/001/s00000004635001/032
////////////////////////////////////////////////////////////////////
// #pragma twice
http://www.kab-studio.biz/Programing/PragmaTwice/index.html

@Version 17.17
֐|C^̑ƂẴ|[tBY

uO͏z֐ƒۃNXɂĐ܂v
w[łςړI܂킩ȂHx
uƂ킯ŁAۃNXAƂ|[tBY̋̓IȎgp
͐܂BrI₷̂A֐|C^ƂĎg
Ƃȁv
w֐|C^āA֐̃AhXϐˁx
uA Version 13.01 ( No.237 )  Version 13.17 ( No.253 ) Ő
A֐̃AhXi[ϐ̂Ɓv
wƓ悤Ȏgł́Hx
uB傤 Version 13.17 ( No.253 ) ŎgpĂ qsort() ֐
̔rp֐݂ɂˁBۂɍ́A\[g̔rp֐𒊏ۃNX
ŎĂ݂܂v
w[AȂ񂩍͎HIx
u܂Ax[X Version 13.09 ( No.245 ) ́A CompareTo() ֐
DoBubbleSortUseComapre() ֐̑gݍ킹𗘗p܂v
w|[tBYɒuAƁx
uƁB́A܂ĩvOv

// Main.cpp
#include <Windows.h>
#include <stdio.h>

// rpNX̊{NXB
class CComparetor
{
public:
    // rpo֐Bz֐łB
    virtual bool CompareTo( int p_iL, int p_iR ) = 0;
};

// ۂ̔rpNXłB
// lŃ\[g悤r܂B
class CIntComparetor : public CComparetor
{
public:
    // rpo֐B
    // p_iL > p_iR Ȃ true A
    // ȊO false Ԃ悤ɂĂB
    bool CompareTo( int p_iL, int p_iR )
    {
        if( p_iL > p_iR )
        {
            return true;
        }

        return false;
    }
};

// ۂ̔rpNXłB
// l~Ń\[g悤r܂B
class CIntDescComparetor : public CComparetor
{
public:
    // rpo֐B
    // p_iL < p_iR Ȃ true A
    // ȊO false Ԃ悤ɂĂB
    bool CompareTo( int p_iL, int p_iR )
    {
        if( p_iL < p_iR )
        {
            return true;
        }

        return false;
    }
};

// \[gs֐łB
void DoBubbleSortUseComapre
    ( int *p_piAry, int p_iSize, CComparetor *p_pcComparetor )
{
    // uւṽ[vłB
    for( int iOut = 0; iOut < p_iSize - 1; iOut++ )
    {
        // Ōォ擪ւ̃[vłB
        // uւv܂łłB
        for( int iIn = p_iSize - 1; iOut < iIn; iIn-- )
        {
            if( p_pcComparetor->CompareTo
                    ( p_piAry[iIn - 1], p_piAry[iIn] ) == true )
            {
                // O̕傫̂œւ܂B
                int iTemp = p_piAry[iIn];
                p_piAry[iIn] = p_piAry[iIn - 1];
                p_piAry[iIn - 1] = iTemp;
            }
        }
    }
}

int WINAPI WinMain
    ( HINSTANCE p_hInstance
    , HINSTANCE p_hPrevInstance
    , LPSTR p_pchCmdLine
    , int p_iCmdShow
    )
{
    int iAry[5];
    iAry[0] = 4;
    iAry[1] = 9;
    iAry[2] = 3;
    iAry[3] = 5;
    iAry[4] = 8;

    // rpNX̕ϐpӂ܂ijB
    CIntComparetor cIntComparetor;

    // \[g܂B
    DoBubbleSortUseComapre( iAry, 5, &cIntComparetor );

    for( int iF1 = 0; iF1 < 5; ++iF1 )
    {
        char pch[256];
        sprintf( pch, "%d ", iAry[iF1] );
        OutputDebugString( pch );
    }
    OutputDebugString( "\n" );
    // 3 4 5 8 9 

    // rpNX̕ϐpӂ܂i~jB
    CIntDescComparetor cIntDescComparetor;

    // \[g܂B
    DoBubbleSortUseComapre( iAry, 5, &cIntDescComparetor );

    for( iF1 = 0; iF1 < 5; ++iF1 )
    {
        char pch[256];
        sprintf( pch, "%d ", iAry[iF1] );
        OutputDebugString( pch );
    }
    OutputDebugString( "\n" );
    // 9 8 5 4 3 

    return 0;
}

wIx
uVNXgƂĕGɂȂ肻A Main.cpp 
܂Ƃ߂Ă܂v
w[Ao֐CCɂȂĂĂƌ₷x
u܂NX\͈ȉ̂悤ɂȂĂ܂v

                
                CComparetor NX    
                
                            
                            
            
                                          
    
CIntComparetor NX     CIntDescComparetor NX 
    

u CComparetor NXɂ͏z֐ CompareTo() o֐
B\[gs DoBubbleSortUseComapre() ł́Ão֐Ă
oĔrs܂v

// \[gs֐łB
void DoBubbleSortUseComapre
    ( int *p_piAry, int p_iSize, CComparetor *p_pcComparetor )
{                                                  
// ...                                             
            if( p_pcComparetor->CompareTo 
                    ( p_piAry[iIn - 1], p_piAry[iIn] ) == true )
// ...
}

u DoBubbleSortUseComapre() ֐́ÃvÔ̔rӏ
ύXĂ܂BȊO͓ƂƂmFĂv
wOƓA{NX̃|C^gďz֐Ăяo킯
ˁBŁAۂɌĂяốAI[o[ChĒ`ĂA
hNX̕ĂƂˁx
uƁBۂɌĂяô CIntComparetor NX
CIntDescComparetor NX CompareTo() o֐łv
w̃o֐̒gÃvO CompareTo() ֐ƓˁB
CIntComparetor NX CIntDescComparetor NẌႢ́Hx
uƍ~B CIntDescComparetor NX́̕y<zy>zɂȂĂ
v
w Version 13.08 ( No.244 ) ̘bˁx
uŁA邱ƂŁAǂ̃NXnɂďƍ~؂
ւ悤ɂȂ܂v

    // rpNX̕ϐpӂ܂ijB
    CIntComparetor cIntComparetor; 
                                            
    // \[g܂B                       
    DoBubbleSortUseComapre( iAry, 5, &cIntComparetor );
    // 3 4 5 8 9 
// ...
    // rpNX̕ϐpӂ܂i~jB
    CIntDescComparetor cIntDescComparetor;  
                                                 
    // \[g܂B                            
    DoBubbleSortUseComapre( iAry, 5, &cIntDescComparetor );
    // 9 8 5 4 3 ~

wAƐ؂ւĂIx
uƁAƑ玟v

/*
    Preview Next Story!
*/
u̕ӂǂg@ȁv
wȂ񂩂ƌĂx
u܁A{IȎdg݂Ă邩Ȃ񂾂ǂˁv
wށÁHx
úv
wƂ킯Ŏx
 Version 17.18 uC^[tFCXvƂl 
uɂÂIv
wʂ̗̕ǂC邯ǁx
u|[tBY͋tȁAāv


////////////////////////////////////////////////////////////////////
/*                          ӁII                            */

Ẽ[ԐMȂłB
EӌE]Ez[`[ʂȓL]肨肭B
http://www.kab-studio.biz/nikki2/index.html
EwǓo^Ƃɂ͂̃y[WōsȂĂB
http://www.mag2.com/m/0000012198.htm
E͎ōsȂĂB
EobNio[͂̃y[Wɂ܂B
http://backno.mag2.com/reader/Back?id=0000012198
http://www.kab-studio.biz/Freeware/index.html#MailMagazine


////////////////////////////////////////////////////////////////////
/*
    KAB-studio.h
      Weekly Mail Magazine.
      Written by Kaburaya Seiden.
      http://www.kab-studio.biz/Info/MailMagazine/

    (C)KAB-studio 1999 - 2006 ALL RIGHTS RESERVED.
        http://www.kab-studio.biz/
        info@mail.kab-studio.biz
*/
////////////////////////////////////////////////////////////////////

