実現したいこと
Cobolでバブルソートを使用して入力した値を昇順にソートできること
発生している問題
「3,2,1」と入力すると「1,3,2」となってしまう
該当のソースコード
COBOL
1 2IDENTIFICATION DIVISION. 3program-id. SAMPLE. 4ENVIRONMENT DIVISION. 5DATA DIVISION. 6WORKING-STORAGE SECTION. 701 my-date. 8 03 J PIC 9(2). 9 03 J2 PIC 9(2). 10 03 I PIC 9(2). 11 03 A PIC 9(2) OCCURS 3. 12 13PROCEDURE DIVISION. 14MOVE 1 TO J. 15 16PERFORM UNTIL J > 3 17 18ACCEPT A(J) 19 20COMPUTE J = J + 1 21END-PERFORM. 22 23MOVE 1 TO J. 24MOVE 2 TO J2. 25PERFORM UNTIL J = 3 26 PERFORM UNTIL J2 > 3 27 IF A(J) > A(J2) 28 MOVE A(J) TO I 29 MOVE A(J2) TO A(J) 30 MOVE I TO A(J2) 31 END-IF 32 COMPUTE J2 = J2 + 1 33 END-PERFORM 34 COMPUTE J = J + 1 35END-PERFORM. 36 37MOVE 1 TO J. 38 PERFORM UNTIL J > 3 39 DISPLAY A(J) 40 COMPUTE J = J + 1 41 END-PERFORM. 42 43STOP RUN.
問題の発生した環境
paiza.io
> 前提としてSORT関数を使用しないでバブルソートで書いてください
学校の課題でしょうか?ご自身で1行もコードは書けませんか?下記ヘルプもご覧ください。
https://teratail.com/help/question-tips#questionTips1
https://teratail.com/help/question-tips#questionTips12