home *** CD-ROM | disk | FTP | other *** search
File List | 1996-09-17 | 2.5 KB | 124 lines |
- TEXT 200,50," QSORT Beispiel " ! 2/92
- '
- DIM feld%(20)
- PRINT "unsortiert:"
- FOR i%=0 TO 20
- feld%(i%)=RAND(100)
- PRINT feld%(i%)
- NEXT i%
- QSORT feld%()
- PRINT AT(15,1);"steigend sortiert:"
- FOR i%=0 TO 20
- PRINT AT(15,i%+2);feld%(i%)
- NEXT i%
- mt_frage
- '
- CLEAR
- CLS
- TEXT 200,150," QSORT Beispiel 2 " ! 2/92
- '
- DIM feld%(20)
- PRINT "unsortiert:"
- FOR i%=0 TO 20
- feld%(i%)=RAND(100)
- PRINT feld%(i%)
- NEXT i%
- QSORT feld%(-),5
- PRINT AT(15,1);"fallend sortiert:"
- FOR i%=0 TO 20
- PRINT AT(15,i%+2);feld%(i%)
- IF i%<5
- PRINT AT(20,i%+2);"<-- sortiert"
- ELSE
- PRINT AT(4,i%+2);"--------->"
- ENDIF
- NEXT i%
- mt_frage
- '
- CLEAR
- CLS
- TEXT 200,395," QSORT Beispiel 3 " ! 2/92
- DIM feld%(20),feld2%(20)
- PRINT "unsortiert: Indexfeld:"
- PRINT SPC(27);"|"
- FOR i%=0 TO 20
- feld%(i%)=RAND(100)
- feld2%(i%)=i%
- PRINT feld%(i%),feld2%(i%)
- NEXT i%
- QSORT feld%(+),15,feld2%()
- a$="| steigend sortiert: Indexfeld (mitsortiert):"
- PRINT AT(28,1);a$
- FOR i%=0 TO 20
- PRINT AT(28,i%+3);"| ";feld%(i%)
- PRINT AT(52,i%+3);feld2%(i%)
- IF i%<15
- PRINT AT(34,i%+3);" -- sortiert --"
- ELSE
- PRINT AT(34,i%+3);" - unsortiert -"
- ENDIF
- NEXT i%
- mt_frage
- CLS
- TEXT 200,390," QSORT Beispiel 4 " !2/92
- '
- CLEAR
- sysfont(1)
- DIM feld$(40),feld2%(40),vorgabe|(256)
- PRINT "unsortiert: Indexfeld:"
- PRINT SPC(27);"|"
- x$="äÄöÖüÜß"
- x2$="AAOOUUS"
- FOR i%=0 TO 255
- vorgabe|(i%)=i%
- IF INSTR("abcdefghijklmnopqrstuvwxyz",CHR$(i%))
- vorgabe|(i%)=ASC(CHR$(i%-32))
- ENDIF
- IF INSTR(x$,CHR$(i%))
- vorgabe|(i%)=ASC(MID$(x2$,INSTR(x$,CHR$(i%)),1))
- ENDIF
- NEXT i%
- FOR i%=0 TO 40
- FOR j%=0 TO 8
- x%=RAND(58)+65
- IF x%>115
- x%=ASC(MID$(x$,x%-116,1))
- ELSE IF x%>90
- ADD x%,6
- ENDIF
- feld$(i%)=feld$(i%)+CHR$(x%)
- NEXT j%
- feld2%(i%)=i%
- PRINT feld$(i%),feld2%(i%)
- NEXT i%
- QSORT feld$() WITH vorgabe|(),41,feld2%()
- a$="| steigend sortiert: Indexfeld (mitsort.):"
- PRINT AT(28,1);a$
- FOR i%=0 TO 40
- PRINT AT(28,i%+3);"| ";feld$(i%)
- PRINT AT(50,i%+3);feld2%(i%)
- NEXT i%
- sysfont(2)
- mt_frage
- > PROCEDURE sysfont(font%)
- LOCAL code$,adr%
- code$=MKL$(&HA0002009)+MKI$(&H4E75)
- adr%=VARPTR(code$)
- DPOKE CONTRL+2,0
- DPOKE CONTRL+6,2
- DPOKE CONTRL+10,102
- LPOKE INTIN,LPEEK(C:adr%()+font%*4)
- VDISYS 5
- RETURN
- > PROCEDURE mt_frage
- PAUSE 5
- RBOX 528,374,630,398
- RBOX 529,375,630,396
- RBOX 530,375,630,397
- TEXT 538,390,"Klick/Taste"
- DO
- EXIT IF MOUSEK<>0 OR LEN(INKEY$)
- LOOP
- CLS
- RETURN
-