28 lines
621 B
Plaintext
28 lines
621 B
Plaintext
100 PROGRAM "RemoveDu.bas"
|
|
110 RANDOMIZE
|
|
120 NUMERIC ARR(1 TO 20),TOP
|
|
130 LET TOP=FILL(ARR)
|
|
140 CALL WRITE(ARR,TOP)
|
|
150 LET TOP=REMOVE(ARR)
|
|
160 CALL WRITE(ARR,TOP)
|
|
170 DEF WRITE(REF A,N)
|
|
180 FOR I=1 TO N
|
|
190 PRINT A(I);
|
|
200 NEXT
|
|
210 PRINT
|
|
220 END DEF
|
|
230 DEF FILL(REF A)
|
|
240 LET FILL=UBOUND(A):LET A(LBOUND(A))=1
|
|
250 FOR I=LBOUND(A)+1 TO UBOUND(A)
|
|
260 LET A(I)=A(I-1)+RND(3)
|
|
270 NEXT
|
|
280 END DEF
|
|
290 DEF REMOVE(REF A)
|
|
300 LET ST=0
|
|
310 FOR I=LBOUND(A)+1 TO UBOUND(A)
|
|
320 IF A(I-1)=A(I) THEN LET ST=ST+1
|
|
330 IF ST>0 THEN LET A(I-ST)=A(I)
|
|
340 NEXT
|
|
350 LET REMOVE=UBOUND(A)-ST
|
|
360 END DEF
|