String Reversal
Problem Description
Reverse a given string.
Expected Output
Reversed string output
Hints
Read from end, write to beginning of result.
Solution
IDENTIFICATION DIVISION.
PROGRAM-ID. REVERSE.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-INPUT PIC X(50).
01 WS-OUTPUT PIC X(50).
01 WS-LEN PIC 9(2).
01 WS-I PIC 9(2).
01 WS-J PIC 9(2).
PROCEDURE DIVISION.
DISPLAY "ENTER STRING: ".
ACCEPT WS-INPUT.
MOVE FUNCTION LENGTH(FUNCTION TRIM(WS-INPUT)) TO WS-LEN.
MOVE SPACES TO WS-OUTPUT.
MOVE 1 TO WS-J.
PERFORM VARYING WS-I FROM WS-LEN BY -1 UNTIL WS-I < 1
MOVE WS-INPUT(WS-I:1) TO WS-OUTPUT(WS-J:1)
ADD 1 TO WS-J
END-PERFORM.
DISPLAY "ORIGINAL: " WS-INPUT.
DISPLAY "REVERSED: " WS-OUTPUT.
STOP RUN.
Explanation:
Loop from end to start, copy each character to result.