* Banker 1st with 2nd and 3rd and 4th
* E.g. 1 st with 2,3,4 2nd and 3rd and 4th
* For no banker                
*     1                  
*     2 3 4 5  
*     2 3 4 5  
*     2 3 4 5
* n x ( n-1 ) ( n-2 )


     
*     2 3 4 5  
*     1             
*     2 3 4 5  
*     2 3 4 5






* qt12.prg ====== Banker Sure 1st and 2nd




set safety off
set talk off
SELE 1
USE sel_qt
SELE 2
use combine3
*use quartet
ZAP


STORE 0 TO MHNUM_F1,MHNUM_F2,MHNUM_F3,MHNUM_F4
STORE 0 TO MHNUM_S1,MHNUM_S2,MHNUM_S3,MHNUM_S4,MHNUM_S5,MHNUM_S6,MHNUM_S7
STORE 0 TO MHNUM_S8,MHNUM_S9
STORE 0 TO MHNUM_T1,MHNUM_T2,MHNUM_T3,MHNUM_T4,MHNUM_T5,MHNUM_T6,MHNUM_T7
STORE 0 TO MHNUM_T8,MHNUM_T9,MHNUM_T10,MHNUM_T11,MHNUM_T12,MHNUM_T13,MHNUM_T14
STORE 0 TO NHNUM_F,NHNUM_S,NHNUM_T,NHNUM_H




SELE 1
   CTR = 1
   MHNUM_F = 'MHNUM_F'+LTRIM(STR(CTR))
   MHNUM_S = 'MHNUM_S'+LTRIM(STR(CTR))
   MHNUM_T = 'MHNUM_T'+LTRIM(STR(CTR))
   MHNUM_H = 'MHNUM_H'+LTRIM(STR(CTR))

DO WHILE .NOT. EOF()

   &MHNUM_F = HNUM_F
   &MHNUM_S = HNUM_S
   &MHNUM_T = HNUM_T
   &MHNUM_H = HNUM_H
   CTR = CTR +1
   MHNUM_F = 'MHNUM_F'+LTRIM(STR(CTR))
   MHNUM_S = 'MHNUM_S'+LTRIM(STR(CTR))
   MHNUM_T = 'MHNUM_T'+LTRIM(STR(CTR))
   MHNUM_H = 'MHNUM_H'+LTRIM(STR(CTR))
   SKIP

ENDDO


   CT1 = 1
   MHNUM_F = 'MHNUM_F'+LTRIM(STR(CT1))

*** Create the combinations to File combine3.dbf



DO WHILE CT1 < CTR
   NHNUM_F = &MHNUM_F
   if nhnum_f <> 0
      CT2 = 1
      MHNUM_S = 'MHNUM_S'+LTRIM(STR(CT2))
      DO WHILE CT2 < CTR
         NHNUM_S = &MHNUM_S

         if nhnum_s <> 0
            if nhnum_s <> nhnum_f
               CT3 = 1
               MHNUM_T = 'MHNUM_T'+LTRIM(STR(CT3))

               DO WHILE CT3 < CTR
                  NHNUM_T = &MHNUM_T

                  if nhnum_t <> 0
	             if nhnum_t <> nhnum_s
                        CT4 = 1
                        MHNUM_H = 'MHNUM_H'+LTRIM(STR(CT4))

			DO WHILE CT4 < CTR
                           NHNUM_H = &MHNUM_H

                           if nhnum_h <> 0
                              if nhnum_h <> nhnum_f .and. nhnum_h <> nhnum_s .and. nhnum_h <> nhnum_t 
                                 sele 2
                                 append blank
                                 repl hnum_f with nhnum_f, hnum_s with nhnum_s, hnum_t with nhnum_t, hnum_h with nhnum_h
			      endif
                           endif
                           CT4 = CT4 + 1
                           MHNUM_H = 'MHNUM_H'+LTRIM(STR(CT4))
			 ENDDO

                     endif

                  endif
                  CT3 = CT3 + 1
                  MHNUM_T = 'MHNUM_T'+LTRIM(STR(CT3))
               ENDDO

            endif

         endif
         CT2 = CT2 + 1
         MHNUM_S = 'MHNUM_S'+LTRIM(STR(CT2))
      ENDDO

   endif
   CT1 = CT1 + 1
   MHNUM_F = 'MHNUM_F'+LTRIM(STR(CT1))

ENDDO


* To generate 1st banker

Sele 1
use qt
zap
Sele 2
use combine3

   mhnum_f = 0
   mhnum_s = 0
   mhnum_t = 0 
   mhnum_h = 0

Sele 2
go top
do while .not. eof()
   mhnum_f = hnum_f
   mhnum_s = hnum_s
   mhnum_t = hnum_t
   mhnum_h = hnum_h
   sele 1
   append blank
   repl hnum_f with mhnum_f, hnum_s with mhnum_s, hnum_t with mhnum_t, hnum_h with mhnum_h
   sele 2
   skip
enddo
   mhnum_f = 0
   mhnum_s = 0
   mhnum_t = 0
   mhnum_h = 0


* To generate 2nd banker


   mhnum_f = 0
   mhnum_s = 0
   mhnum_t = 0 
   mhnum_h = 0

Sele 2
go top
do while .not. eof()
   mhnum_f = hnum_f
   mhnum_s = hnum_s
   mhnum_t = hnum_t
   mhnum_h = hnum_h
   sele 1
   append blank
   repl hnum_f with mhnum_s, hnum_s with mhnum_f, hnum_t with mhnum_t, hnum_h with mhnum_h
   sele 2
   skip
enddo
   mhnum_f = 0
   mhnum_s = 0
   mhnum_t = 0
   mhnum_h = 0




*** Calculate Tierce Odds & ( Q odds for elimination purpose )


SELE 2
USE H_ODDS
INDEX ON HNUM TO HNUM
USE H_ODDS INDEX HNUM
MRNUM     = 0

SELE 1
use qt
GO TOP

DO WHILE .NOT. EOF()
   MHNUM_F = HNUM_F
   MHNUM_S = HNUM_S
   MHNUM_T = HNUM_T
   MHNUM_H = HNUM_H
   SELE 2
   SEEK MHNUM_F
   MODDS_F = ODDS
   mhc_f = hc
   MF_F    = F
   SEEK MHNUM_S
   MODDS_S = ODDS
   mhc_s = hc
   MF_S    = F
   SEEK MHNUM_T
   MODDS_T = ODDS
   mhc_t = hc
   MF_T    = F
   SEEK MHNUM_H
   MODDS_H = ODDS
   mhc_H = hc
   MF_H    = F
   mrnum     = rnum
   MTIERCE = 10*MODDS_F*(MODDS_F*MODDS_S-1)*(MODDS_T+1)/(MODDS_F+1)
   MQIN    = 10*100/((100/(MODDS_F*(MODDS_S+1)))+(100/(MODDS_S*(MODDS_F+1))))
   SELE 1
   repl odds_f with modds_f, odds_s with modds_s, odds_t with modds_t, odds_h with modds_h
   REPL T_ODDS WITH MTIERCE, Q_ODDS WITH MQIN
   REPL WF WITH MF_F, QF WITH MF_S, PF WITH MF_T, HF with MF_H
   repl wc with mhc_f, qc with mhc_s, pc with mhc_t, hc with mhc_h
   SKIP

ENDDO


********** Calculate Odds Indicator

Sele 1
go top

do while .not. eof()
   modds_f = odds_f
   modds_s = odds_s
   modds_t = odds_t
   modds_h = odds_h

   mqi = modds_f + modds_s
   mti = modds_f + modds_s + modds_t
   mqti = modds_f + modds_s + modds_t + modds_h

*  mttl_odds = modds_f + modds_s + modds_t + modds_h
   repl qi with mqi, ti with mti, qti with mqti 
   skip

enddo

** Count no. of Cold 
Sele 1
go top

do while .not. eof()
   ctr = 0
   mwc = wc
   if mwc = 'C' 
      ctr = ctr + 1
   endif
   mqc = qc
   if mqc = 'C' 
      ctr = ctr + 1
   endif
   mpc = pc
   if mpc = 'C' 
      ctr = ctr + 1
   endif
   mhc = hc
   if mhc = 'C' 
      ctr = ctr + 1
   endif

   if ctr > 0
      repl k with ctr
   endif
   skip


enddo

CLOSE ALL


