home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib06.dsk / FLEXI-SORT.bas < prev    next >
BASIC Source File  |  2023-02-26  |  1KB  |  23 lines

  1. 1  REM  *******************************
  2. 2  REM       FLEXI-SORT SEGMENT
  3. 3  REM     (MUST BE IMBEDDED IN
  4. 4  REM      IN FULL PROGRAM TO
  5. 5  REM           OPERATE)
  6. 6  REM      BY ROBERT A DEVINE
  7. 7  REM  *******************************
  8. 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"
  9. 3010  PRINT "7. ";: INVERSE : PRINT "MASTER SORT": NORMAL : PRINT "8. RETURN TO MENU"
  10. 3020  INPUT "SELECT FIELD: ";S: IF S = 8  THEN 200
  11. 3025  IF S <1  OR S >8  THEN 3000
  12. 3030  PRINT : PRINT : FLASH : PRINT "SORTING": NORMAL 
  13. 3040 C = NR
  14. 3050 C =  INT(C/3) +1: FOR A = 1 TO NR -C
  15. 3052  IF S <7  THEN  ON (N$(A,S) < = N$(A +C,S)) GOTO 3090: GOTO 3060
  16. 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
  17. 3060  FOR J = 1 TO 6:T$(J) = N$(A +C,J): NEXT J:B = A
  18. 3070  FOR J = 1 TO 6:N$(B +C,J) = N$(B,J): NEXT J:B = B -C: IF B < = 0  THEN 3080
  19. 3072  IF S <7  THEN  ON (T$(S) <N$(B,S)) GOTO 3070: GOTO 3080
  20. 3074  IF T$(6) +T$(3) +T$(4) <N$(B,6) +N$(B,3) +N$(B,4)  THEN 3070
  21. 3080  FOR J = 1 TO 6:N$(B +C,J) = T$(J): NEXT J
  22. 3090  NEXT A: IF C >1  THEN 3050
  23. 3100  GOTO 200