SUB SORT(a(,),m) FOR i=1 TO m-1 FOR j=i+1 TO m IF a(2,i)>a(2,j) THEN LET t=a(1,j) LET a(1,j)=a(1,i) LET a(1,i)=t LET s=a(2,j) LET a(2,j)=a(2,i) LET a(2,i)=s END IF NEXT j NEXT i END SUB RANDOMIZE PRINT PRINT "自動置換君 " PRINT "   エントリーナンバー 1 〜 n の人に、それぞれ" PRINT " 1 〜 n の番号を、1つずつ重複せずに与えます。" PRINT INPUT PROMPT "何人でしますか? ":n PRINT DIM A(2,n),B(2,n),C(2,n) FOR i=1 TO n LET A(1,i)=i LET A(2,i)=RND NEXT i MAT B=A FOR i=1 TO 2 FOR j=1 TO n IF i=1 THEN PRINT USING "#######":ROUND(A(i,j),2); ELSE PRINT USING "####.##":ROUND(A(i,j),2); END IF NEXT j PRINT PRINT" "; NEXT i PRINT PRINT CALL SORT(A,n) FOR j=1 TO n LET C(1,j)=B(1,j) LET C(2,j)=A(1,j) NEXT j FOR i=1 TO 2 FOR j=1 TO n IF i=1 THEN PRINT USING "#######":ROUND(A(i,j),2); ELSE PRINT USING "####.##":ROUND(A(i,j),2); END IF NEXT j PRINT PRINT" "; NEXT i PRINT PRINT PRINT" "; FOR j=1 TO n PRINT USING "#####":C(1,j); NEXT j PRINT PRINT" "; FOR i= 1 TO n PRINT " ↓ "; NEXT i PRINT PRINT" "; FOR j=1 TO n PRINT USING "#####":A(1,j); NEXT j PRINT END