サイズを決定する変数に基づいて数値の配列を取得し、並べ替えようとしています。
配列は、Fortran 95の乱数シードを使用して作成されます。ただし、並べ替えようとすると、大きな問題が発生します。正常にコンパイルされますが、配列には多くのアスタリスクが含まれています。
さらに、配列を横向きに印刷したかったのですが(たとえば、1 2 3 4など)、それも失敗しました。DOループ内でAdvance="no"を使用して実行する必要があることは理解していますが、明らかにそれも誤りです。
以下は私が使用しているコードです。誰かが私が間違っているかもしれないところを私に知らせてくれるなら、私は非常に感謝するでしょう。御時間ありがとうございます。
SUBROUTINE Sorter(num, numinteger)
INTEGER, INTENT(OUT):: num(100)
INTEGER, INTENT(IN):: numinteger
DO i=1, (numinteger-1)
min=num(i)
pos=i
DO j=i,numinteger
IF (num(j)<min)THEN
min=num(j)
pos=j
END IF
END DO
temp=num(i)
num(i)=min
num(pos)=temp
END DO
PRINT*, " "
PRINT*, "Sorted Numbers"
DO i=1, numinteger
WRITE(*,23,ADVANCE="NO") num
23 FORMAT (I2)
END DO
END SUBROUTINE
ありがとう!