RANDOMIZE OPTION BASE 0 DIM S(16),T(15),U(15) FOR i=1 TO 15 LET S(i)=INT((RND*10+1) ) NEXT i FOR i=1 TO 15 LET T(i)=S(i) NEXT i CALL sort(S,15) PRINT PRINT " 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15" PRINT PRINT FOR i=1 TO 15 PRINT USING"####":T(i); NEXT i PRINT " 回目に入った。" PRINT PRINT " ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓" PRINT LET S(0)=0 FOR i=1 TO 15 IF S(i)=S(i-1) THEN IF i=15 THEN GOTO 20 END IF GOTO 10 END IF FOR j=1 TO 15 IF T(j)=S(i) THEN LET U(j)=i END IF NEXT j 10 NEXT i 20 FOR j=1 TO 15 PRINT USING"####": U(j); NEXT j PRINT " 番目に上がった。" PRINT PRINT FOR i=1 TO 15 PRINT USING"####":S(i); NEXT i PRINT END EXTERNAL SUB sort(a(),m) FOR i=1 TO m-1 FOR j=i+1 TO m IF a(i)>a(j) THEN LET t=a(j) LET a(j)=a(i) LET a(i)=t END IF NEXT j NEXT i END SUB