fork download
  1. IDENTIFICATION DIVISION.
  2. PROGRAM-ID. IDEONE.
  3.  
  4. ENVIRONMENT DIVISION.
  5.  
  6. DATA DIVISION.
  7. WORKING-STORAGE SECTION.
  8. 77 EXITED PIC 9 VALUE 0.
  9. 77 CHOICE PIC 9(5).
  10. 77 ARR-IDX PIC 9(5).
  11. 77 MAX-NUM PIC 9(5) VALUE 0.
  12. 77 R PIC 9(5).
  13. 77 Q PIC 9(5).
  14. 77 CUR-SIZE PIC 9 VALUE 0.
  15. 01 NUM-ARR.
  16. 02 NUM PIC 9(5) OCCURS 5 TIMES.
  17.  
  18. PROCEDURE DIVISION.
  19. PERFORM PMENU UNTIL EXITED = 1.
  20. STOP RUN.
  21. PMENU.
  22. DISPLAY " MENU ".
  23. *>DISPLAY "[1] Fill Array ".
  24. *> https://w...content-available-to-author-only...e.com/watch?v=xQUsOXHlnec for fiddling with TABLES
  25. *>DISPLAY "[2] Print Array ".
  26. *>DISPLAY "[3] Find the Duplicate ".
  27. *>DISPLAY "[4] Largest Odd Number ".
  28. *>DISPLAY "[5] Palindrome Checker ".
  29. *>DISPLAY "[6] Exit ".
  30. DISPLAY " Choice : ".
  31. ACCEPT CHOICE.
  32. MOVE 1 TO ARR-IDX.
  33. IF CHOICE = 1
  34. DISPLAY "FILL ARRAY"
  35. PERFORM UNTIL ARR-IDX > 5
  36. ACCEPT NUM(ARR-IDX)
  37. DISPLAY "Input #" WITH NO ADVANCING
  38. DISPLAY ARR-IDX WITH NO ADVANCING
  39. DISPLAY " : " WITH NO ADVANCING
  40. DISPLAY NUM(ARR-IDX)
  41. ADD 1 TO ARR-IDX
  42. END-PERFORM
  43. MOVE 5 TO CUR-SIZE
  44. ELSE
  45. IF CHOICE = 2
  46. IF CUR-SIZE = 0
  47. DISPLAY "Array is not filled yet... "
  48. ELSE
  49. DISPLAY "PRINT ARRAY"
  50. PERFORM UNTIL ARR-IDX > 5
  51. DISPLAY "Input #" WITH NO ADVANCING
  52. DISPLAY ARR-IDX WITH NO ADVANCING
  53. DISPLAY " : " WITH NO ADVANCING
  54. DISPLAY NUM(ARR-IDX)
  55. ADD 1 TO ARR-IDX
  56. END-PERFORM
  57. END-IF
  58. ELSE
  59. IF CHOICE = 3
  60. DISPLAY "DEEZ NUTS FIND THE DUPLICATE NUMBER"
  61. ELSE
  62. IF CHOICE = 4
  63. IF CUR-SIZE = 0
  64. DISPLAY "Array is not filled yet"
  65. ELSE
  66. DISPLAY "LARGEST ODD NUMBER"
  67. PERFORM UNTIL ARR-IDX > 5
  68. DIVIDE NUM(ARR-IDX) BY 2 GIVING R REMAINDER Q
  69. IF Q IS NOT EQUAL TO 0
  70. IF NUM(ARR-IDX) IS GREATER THAN MAX-NUM
  71. MOVE NUM(ARR-IDX) TO MAX-NUM
  72. ELSE
  73. DISPLAY " " WITH NO ADVANCING
  74. END-IF
  75. ELSE
  76. DISPLAY " " WITH NO ADVANCING
  77. END-IF
  78. ADD 1 TO ARR-IDX
  79. END-PERFORM
  80. DISPLAY "Largest Odd Number: " WITH NO ADVANCING
  81. DISPLAY MAX-NUM
  82. END-IF
  83. ELSE
  84. IF CHOICE = 5
  85. DISPLAY "DEEZ NUTS PALINDROME CHECKER"
  86. ELSE
  87. DISPLAY "You have exited the program... "
  88. MOVE 1 TO EXITED
  89. END-IF
  90. END-IF
  91. END-IF
  92. END-IF.
  93.  
Success #stdin #stdout 0.01s 5436KB
stdin
1
69
420
1337
666
69420
2
3
4
5
6
stdout
        MENU 
 Choice : 
FILL ARRAY
Input #00001 : 00069
Input #00002 : 00420
Input #00003 : 01337
Input #00004 : 00666
Input #00005 : 69420
        MENU 
 Choice : 
PRINT ARRAY
Input #00001 : 00069
Input #00002 : 00420
Input #00003 : 01337
Input #00004 : 00666
Input #00005 : 69420
        MENU 
 Choice : 
DEEZ NUTS FIND THE DUPLICATE NUMBER
        MENU 
 Choice : 
LARGEST ODD NUMBER
   Largest Odd Number: 01337
        MENU 
 Choice : 
DEEZ NUTS PALINDROME CHECKER
        MENU 
 Choice : 
You have exited the program...