1  REM  ****  HP BASIC PROGRAM LIBRARY  *******************************
2  REM
3  REM         SORT2 : CTC ACCOUNTS RECEIVABLE 
4  REM
5  REM         36214 REV  B  PART 5 OF 13   2/73 
6  REM
7  REM  ****  CONTRIBUTED PROGRAM  ************************************
10  DIM L[15,100],A[15],D[2,2]
11  DIM R$[6]
12  DIM L$[72],M$[72],T$[72]
13  J9=0
100  FILES G10A,G10B,G10C,G15,G0
200  READ C8,C9
210  DATA 3,2
220  C[1]=5
230  C[2]=0
300  READ #(C8+2),1;A9,M9
400  MAT A=ZER
401  MAT D=ZER
410  FOR I1=1 TO M9
420  K9=I1
430  GOSUB 4552
440  IF B3 THEN 470
445  GOSUB 3000
450  A[Z]=A[Z]+1
455  L[Z,A[Z]]=I1
470  NEXT I1
475  FOR I=1 TO 15
476  PRINT A[I];
477  J9=J9+A[I]
478  NEXT I
479  PRINT J9
480  PRINT #(C8+1);J9
485  FOR L5=1 TO 15
487  PRINT L5
490  J9=A[L5]
495  GOSUB 1000
500  NEXT L5
640  PRINT #(C8+1); END 
650  IF R$="" THEN 9999
660  CHAIN R$,H3
1000  FOR J1=2 TO J9
1010  FOR J2=J1 TO 2 STEP -1
1015  K9=L[L5,J2]
1020  GOSUB 4552
1035  I$=T$
1040  K9=L[L5,J2-1]
1050  GOSUB 4552
1070  K$=T$
1080  IF I$ >= K$ THEN 1120
1090  X=L[L5,J2]
1095  L[L5,J2]=L[L5,J2-1]
1100  L[L5,J2-1]=X
1110  NEXT J2
1120  NEXT J1
1130  FOR I2=1 TO J9
1180  PRINT #(C8+1);L[L5,I2]
1185  NEXT I2
1187  PRINT #(C8+1); END 
1190  RETURN 
3000  Z=1
3010  IF T$[1,2]<"AS" THEN 3170
3015  Z=2
3020  IF T$[1,1]<"C" THEN 3170
3025  Z=3
3030  IF T$[1,2]<"CP" THEN 3170
3035  Z=4
3040  IF T$[1,1]<"E" THEN 3170
3045  Z=5
3050  IF T$[1,1]<"G" THEN 3170
3055  Z=6
3060  IF T$[1,1]<"H" THEN 3170
3065  Z=7
3070  IF T$[1,1]<"J" THEN 3170
3075  Z=8
3080  IF T$[1,1]<"M" THEN 3170
3085  Z=9
3090  IF T$[1,1]<"N" THEN 3170
3095  Z=10
3100  IF T$[1,1]<"P" THEN 3170
3105  Z=11
3110  IF T$[1,1]<"S" THEN 3170
3115  Z=12
3120  IF T$[1,2]<"SS" THEN 3170
3125  Z=13
3130  IF T$[1,1]<"U" THEN 3170
3135  Z=14
3140  IF T$[1,1]<"V" THEN 3170
3145  Z=15
3170  RETURN 
4552  B3=0
4585  GOSUB 5000
4590  READ #N,R;L$,D[1,1],D[1,2],M$,D[2,1],D[2,2]
4595  IF D[R1,2]#-1 THEN 4610
4600  B3=1
4605  RETURN 
4610  T$=L$
4620  IF R1=1 THEN 4640
4630  T$=M$
4640  RETURN 
5000  X=K9/C9
5010  I9=INT(X)
5020  D9=INT((X-I9)*10)
5040  R=I9
5050  IF D9=0 THEN 5080
5070  R=R+1
5080  FOR R1=1 TO C9
5090  IF D9=C[R1] THEN 5120
5100  NEXT R1
5120  FOR N=1 TO C8
5130  IF R<201 THEN 5170
5135  R=R-200
5140  NEXT N
5170  RETURN 
6500  ASSIGN "DT1",5,W5
6505  READ #5,9;R$,H3
6510  ASSIGN "G0",5,W5
6520  PRINT '12'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18;
6530  GOTO 200
9999  END 
