home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nibble Magazine
/
nib06.dsk
/
FLEXI-SORT.bas
< prev
next >
Wrap
BASIC Source File
|
2023-02-26
|
1KB
|
23 lines
1 REM *******************************
2 REM FLEXI-SORT SEGMENT
3 REM (MUST BE IMBEDDED IN
4 REM IN FULL PROGRAM TO
5 REM OPERATE)
6 REM BY ROBERT A DEVINE
7 REM *******************************
3000 HOME : VTAB 2: INVERSE : PRINT "FIELD DESCRIPTIONS: ": NORMAL : PRINT : PRINT "1. CHECK #": PRINT "2. DATE": PRINT "3. PAID TO...": PRINT "4. DESCRIPTION": PRINT "5. AMOUNT": PRINT "6. CODE"
3010 PRINT "7. ";: INVERSE : PRINT "MASTER SORT": NORMAL : PRINT "8. RETURN TO MENU"
3020 INPUT "SELECT FIELD: ";S: IF S = 8 THEN 200
3025 IF S <1 OR S >8 THEN 3000
3030 PRINT : PRINT : FLASH : PRINT "SORTING": NORMAL
3040 C = NR
3050 C = INT(C/3) +1: FOR A = 1 TO NR -C
3052 IF S <7 THEN ON (N$(A,S) < = N$(A +C,S)) GOTO 3090: GOTO 3060
3054 IF N$(A,6) +N$(A,3) +N$(A,4) < = N$(A +C,6) +N$(A +C,3) +N$(A +C,4) THEN 3090
3060 FOR J = 1 TO 6:T$(J) = N$(A +C,J): NEXT J:B = A
3070 FOR J = 1 TO 6:N$(B +C,J) = N$(B,J): NEXT J:B = B -C: IF B < = 0 THEN 3080
3072 IF S <7 THEN ON (T$(S) <N$(B,S)) GOTO 3070: GOTO 3080
3074 IF T$(6) +T$(3) +T$(4) <N$(B,6) +N$(B,3) +N$(B,4) THEN 3070
3080 FOR J = 1 TO 6:N$(B +C,J) = T$(J): NEXT J
3090 NEXT A: IF C >1 THEN 3050
3100 GOTO 200