RosettaCodeData/Task/Middle-three-digits/PL-I/middle-three-digits.pli
2023-07-01 13:44:08 -04:00

24 lines
687 B
Text

middle: procedure options (main); /* 29 October 2013 */
declare n fixed (15);
declare s character (25) varying;
declare in file input;
open file (in) title ('/MIDDLE.DAT,type(text),recsize(100)');
on endfile (in) stop;
do forever;
get file (in) list (n); put skip list (n);
n = abs(n);
s = trim(n);
if length(s) < 3 then put list ('not possible');
else if mod(length(s), 2) = 0 then put list ('not possible');
else
do;
do while (length(s) > 3);
s = substr(s, 2, length(s)-2);
end;
put list ('The middle three digits are: ' || s);
end;
end;
end middle;