IDENTIFICATION DIVISION.
PROGRAM-ID. IDEONE.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 EXITED PIC 9 VALUE 0.
77 CHOICE PIC 9(5).
77 ARR-IDX PIC 9(5).
77 MAX-NUM PIC 9(5) VALUE 0.
77 R PIC 9(5).
77 Q PIC 9(5).
77 CUR-SIZE PIC 9 VALUE 0.
01 NUM-ARR.
02 NUM PIC 9(5) OCCURS 5 TIMES.
PROCEDURE DIVISION.
PERFORM PMENU UNTIL EXITED = 1.
STOP RUN.
PMENU.
DISPLAY " MENU ".
*>DISPLAY "[1] Fill Array ".
*> https://w...content-available-to-author-only...e.com/watch?v=xQUsOXHlnec for fiddling with TABLES
*>DISPLAY "[2] Print Array ".
*>DISPLAY "[3] Find the Duplicate ".
*>DISPLAY "[4] Largest Odd Number ".
*>DISPLAY "[5] Palindrome Checker ".
*>DISPLAY "[6] Exit ".
DISPLAY " Choice : ".
ACCEPT CHOICE.
MOVE 1 TO ARR-IDX.
IF CHOICE = 1
DISPLAY "FILL ARRAY"
PERFORM UNTIL ARR-IDX > 5
ACCEPT NUM(ARR-IDX)
DISPLAY "Input #" WITH NO ADVANCING
DISPLAY ARR-IDX WITH NO ADVANCING
DISPLAY " : " WITH NO ADVANCING
DISPLAY NUM(ARR-IDX)
ADD 1 TO ARR-IDX
END-PERFORM
MOVE 5 TO CUR-SIZE
ELSE
IF CHOICE = 2
IF CUR-SIZE = 0
DISPLAY "Array is not filled yet... "
ELSE
DISPLAY "PRINT ARRAY"
PERFORM UNTIL ARR-IDX > 5
DISPLAY "Input #" WITH NO ADVANCING
DISPLAY ARR-IDX WITH NO ADVANCING
DISPLAY " : " WITH NO ADVANCING
DISPLAY NUM(ARR-IDX)
ADD 1 TO ARR-IDX
END-PERFORM
END-IF
ELSE
IF CHOICE = 3
DISPLAY "DEEZ NUTS FIND THE DUPLICATE NUMBER"
ELSE
IF CHOICE = 4
IF CUR-SIZE = 0
DISPLAY "Array is not filled yet"
ELSE
DISPLAY "LARGEST ODD NUMBER"
PERFORM UNTIL ARR-IDX > 5
DIVIDE NUM(ARR-IDX) BY 2 GIVING R REMAINDER Q
IF Q IS NOT EQUAL TO 0
IF NUM(ARR-IDX) IS GREATER THAN MAX-NUM
MOVE NUM(ARR-IDX) TO MAX-NUM
ELSE
DISPLAY " " WITH NO ADVANCING
END-IF
ELSE
DISPLAY " " WITH NO ADVANCING
END-IF
ADD 1 TO ARR-IDX
END-PERFORM
DISPLAY "Largest Odd Number: " WITH NO ADVANCING
DISPLAY MAX-NUM
END-IF
ELSE
IF CHOICE = 5
DISPLAY "DEEZ NUTS PALINDROME CHECKER"
ELSE
DISPLAY "You have exited the program... "
MOVE 1 TO EXITED
END-IF
END-IF
END-IF
END-IF.