Data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 7387c8f97b
commit cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions

View file

@ -0,0 +1,46 @@
@echo off
setlocal enabledelayedexpansion
%== Initialization ==%
set "numbers=123, 12345, 1234567, 987654321, 10001, -10001, -123, -100, 100, -12345, 1, 2, -1, -10, 2002, -2002, 0"
%== The Main Thing ==%
for %%N in (%numbers%) do (
call :middle3 %%N
)
echo.
pause
exit /b 0
%==/The Main Thing ==%
%== The Procedure ==%
:middle3
set str=%1
%== Making sure that str is positive ==%
if !str! lss 0 set /a str*=-1
%== Alternative for finding the string length ==%
%== But this has a limit of 1000 characters ==%
set leng=0&if not "!str!"=="" for /l %%. in (0,1,1000) do if not "!str:~%%.,1!"=="" set /a leng+=1
if !leng! lss 3 (
echo.%~1: [ERROR] Input too small.
goto :EOF
)
set /a "test2=leng %% 2,trimmer=(leng - 3) / 2"
if !test2! equ 0 (
echo.%~1: [ERROR] Even number of digits.
goto :EOF
)
%== Passed the tests. Now, really find the middle 3 digits... ==%
if !trimmer! equ 0 (
echo.%~1: !str!
) else (
echo.%~1: !str:~%trimmer%,-%trimmer%!
)
goto :EOF
%==/The Procedure ==%