rem rem mariaBasic 3.0.5.2 rem simple text sort rem rem written by Dzinleski Jasenko rem November 2010 rem vari1%=0 vari2%=1 vari3%=0 vari4%=0 vari5%=0 vari6%=0 vari7%=0 vari8%=1 varA$='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPRSTUVWXYZ' vartA$='A' vart1$='' vart2$='' vart3$='' vart4$='' vart5$='' vart6$='' vart7$='' varinfn$='test.txt' varoutfn$='num.txt' varfb$='' vars1$='' vars2$='' vars3$='' vars4$='' vars5$='' vars6$='' vars7$='' vars8$='' vars9$='' vars10$='' varst1$='' varst2$='' varst3$='' varst4$='' varst5$='' varst6$='' varst7$='' varst8$='' varst9$='' varst10$='' vari4%=len$(varA$) rem text to number string open varinfn$ for input as #1 input #1,varfb$ vari1%=len$(varfb$) vari5%=1 while (vari1%<>0) print varfb$ rem first input char vari2%=1 vars1$=mid$(varfb$,vari2%,1) for vari3%=1 to vari4% vars3$=mid$(varA$,vari3%,1) if (vars1$=vars3$) then vari3%=vari3%*2*vari4% vars2$=format$(vari3%,'00000') vart1$=vart1$+vars2$ end if next vari3% rem second input char vari2%=vari2%+1 vars1$=mid$(varfb$,vari2%,1) for vari3%=1 to vari4% vars3$=mid$(varA$,vari3%,1) if (vars1$=vars3$) then vari3%=vari3%*2*vari4% vars2$=format$(vari3%,'00000') vart1$=vart1$+vars2$ end if next vari3% rem third input char vari2%=vari2%+1 vars1$=mid$(varfb$,vari2%,1) for vari3%=1 to vari4% vars3$=mid$(varA$,vari3%,1) if (vars1$=vars3$) then vari3%=vari3%*2*vari4% vars2$=format$(vari3%,'00000') vart1$=vart1$+vars2$ end if next vari3% rem fourth input char vari2%=vari2%+1 vars1$=mid$(varfb$,vari2%,1) for vari3%=1 to vari4% vars3$=mid$(varA$,vari3%,1) if (vars1$=vars3$) then vari3%=vari3%*2*vari4% vars2$=format$(vari3%,'00000') vart1$=vart1$+vars2$ end if next vari3% rem fifth input char vari2%=vari2%+1 vars1$=mid$(varfb$,vari2%,1) for vari3%=1 to vari4% vars3$=mid$(varA$,vari3%,1) if (vars1$=vars3$) then vari3%=vari3%*2*vari4% vars2$=format$(vari3%,'00000') vart1$=vart1$+vars2$ end if next vari3% rem print vart1$ if (vari5%=1) then varst1$='' varst1$=varst1$+vart1$ rem print varst1$ end if if (vari5%=2) then varst2$='' varst2$=varst2$+vart1$ rem print varst2$ end if if (vari5%=3) then varst3$='' varst3$=varst3$+vart1$ rem print varst3$ end if if (vari5%=4) then varst4$='' varst4$=varst4$+vart1$ rem print varst4$ end if if (vari5%=5) then varst5$='' varst5$=varst5$+vart1$ rem print varst5$ end if if (vari5%=6) then varst6$='' varst6$=varst6$+vart1$ rem print varst6$ end if if (vari5%=7) then varst7$='' varst7$=varst7$+vart1$ rem print varst7$ end if if (vari5%=8) then varst8$='' varst8$=varst8$+vart1$ rem print varst8$ end if if (vari5%=9) then varst9$='' varst9$=varst9$+vart1$ rem print varst9$ end if vari5%=vari5%+1 vart1$='' input #1,varfb$ vari1%=len$(varfb$) wend close #1 rem sorting number strings vari1%=1 vari2%=1 while (vari1%<=9) vart1$='' if (vari1%=1) then vart1$=vart1$+varst1$ end if if (vari1%=2) then vart1$=vart1$+varst2$ end if if (vari1%=3) then vart1$=vart1$+varst3$ end if if (vari1%=4) then vart1$=vart1$+varst4$ end if if (vari1%=5) then vart1$=vart1$+varst5$ end if if (vari1%=6) then vart1$=vart1$+varst6$ end if if (vari1%=7) then vart1$=vart1$+varst7$ end if if (vari1%=8) then vart1$=vart1$+varst8$ end if if (vari1%=9) then vart1$=vart1$+varst9$ end if vari2%=vari1%+1 while (vari2%<=9) vart2$='' if (vari2%=1) then vart2$=vart2$+varst1$ end if if (vari2%=2) then vart2$=vart2$+varst2$ end if if (vari2%=3) then vart2$=vart2$+varst3$ end if if (vari2%=4) then vart2$=vart2$+varst4$ end if if (vari2%=5) then vart2$=vart2$+varst5$ end if if (vari2%=6) then vart2$=vart2$+varst6$ end if if (vari2%=7) then vart2$=vart2$+varst7$ end if if (vari2%=8) then vart2$=vart2$+varst8$ end if if (vari2%=9) then vart2$=vart2$+varst9$ end if if (vart1$>vart2$) then vart3$='' vart3$=vart3$+vart1$ vart1$='' vart1$=vart1$+vart2$ vart2$='' vart2$=vart2$+vart3$ end if if (vari2%=1) then varst1$='' varst1$=varst1$+vart2$ end if if (vari2%=2) then varst2$='' varst2$=varst2$+vart2$ end if if (vari2%=3) then varst3$='' varst3$=varst3$+vart2$ end if if (vari2%=4) then varst4$='' varst4$=varst4$+vart2$ end if if (vari2%=5) then varst5$='' varst5$=varst5$+vart2$ end if if (vari2%=6) then varst6$='' varst6$=varst6$+vart2$ end if if (vari2%=7) then varst7$='' varst7$=varst7$+vart2$ end if if (vari2%=8) then varst8$='' varst8$=varst8$+vart2$ end if if (vari2%=9) then varst9$='' varst9$=varst9$+vart2$ end if vari2%=vari2%+1 wend if (vari1%=1) then varst1$='' varst1$=varst1$+vart1$ end if if (vari1%=2) then varst2$='' varst2$=varst2$+vart1$ end if if (vari1%=3) then varst3$='' varst3$=varst3$+vart1$ end if if (vari1%=4) then varst4$='' varst4$=varst4$+vart1$ end if if (vari1%=5) then varst5$='' varst5$=varst5$+vart1$ end if if (vari1%=6) then varst6$='' varst6$=varst6$+vart1$ end if if (vari1%=7) then varst7$='' varst7$=varst7$+vart1$ end if if (vari1%=8) then varst8$='' varst8$=varst8$+vart1$ end if if (vari1%=9) then varst9$='' varst9$=varst9$+vart1$ end if vari1%=vari1%+1 wend print ' ' rem print sorted number array to file rem print '!',varst1$ rem print '!',varst2$ rem print '!',varst3$ rem print '!',varst4$ rem print '!',varst5$ rem print '!',varst6$ rem print '!',varst7$ rem print '!',varst8$ rem print '!',varst9$ vari5%=len$(varA$) vari6%=1 vari3%=1 rem print vart1$,'!' while (vari3%<=9) if (vari3%=1) then vart1$='' vart1$=vart1$+varst1$+vartA$ end if if (vari3%=2) then vart1$='' vart1$=vart1$+varst2$+vartA$ end if if (vari3%=3) then vart1$='' vart1$=vart1$+varst3$+vartA$ end if if (vari3%=4) then vart1$='' vart1$=vart1$+varst4$+vartA$ end if if (vari3%=5) then vart1$='' vart1$=vart1$+varst5$+vartA$ end if if (vari3%=6) then vart1$='' vart1$=vart1$+varst6$+vartA$ end if if (vari3%=7) then vart1$='' vart1$=vart1$+varst7$+vartA$ end if if (vari3%=8) then vart1$='' vart1$=vart1$+varst8$+vartA$ end if if (vari3%=9) then vart1$='' vart1$=vart1$+varst9$+vartA$ end if rem print vart1$,'!' vart2$=mid$(vart1$,vari6%,5) vari4%=val$(vart2$) rem print '!',vart2$,'!',vari4%,'!' vari4%=vari4%/vari5%*2 vart3$=mid$(varA$,vari4%,1) rem print vart1$,'!',vart3$ print vart3$; vari6%=vari6%+5 vart2$=mid$(vart1$,vari6%,5) vari4%=val$(vart2$) rem print '!',vart2$,'!',vari4%,'!' vari4%=vari4%/vari5%*2 vart3$=mid$(varA$,vari4%,1) rem print vart1$,'!',vart3$ print vart3$; vari6%=vari6%+5 vart2$=mid$(vart1$,vari6%,5) vari4%=val$(vart2$) rem print '!',vart2$,'!',vari4%,'!' vari4%=vari4%/vari5%*2 vart3$=mid$(varA$,vari4%,1) rem print vart1$,'!',vart3$ print vart3$; vari6%=vari6%+5 vart2$=mid$(vart1$,vari6%,5) vari4%=val$(vart2$) rem print '!',vart2$,'!',vari4%,'!' vari4%=vari4%/vari5%*2 vart3$=mid$(varA$,vari4%,1) rem print vart1$,'!',vart3$ print vart3$; vari6%=vari6%+5 vart2$=mid$(vart1$,vari6%,5) vari4%=val$(vart2$) rem print '!',vart2$,'!',vari4%,'!' vari4%=vari4%/vari5%*2 vart3$=mid$(varA$,vari4%,1) rem print vart1$,'!',vart3$ print vart3$; print ' ' vari6%=1 vari3%=vari3%+1 wend end