[Reto Batch] Números II (Puntoinfinito)

Iniciado por Eleкtro, 5 Mayo 2012, 08:18 AM

0 Miembros y 1 Visitante están viendo este tema.

Binary_Death

Mi solución a este reto:


@echo off
setlocal enabledelayedexpansion

set/p "num=Cifra >> "

set/a hst=0,lst=9
set "evn_lst=" & set "rev_lst="

for /f "tokens=* eol=" %%_ in (
'"cmd /u /c echo+%num%|more"'
) do (
set "rev_lst=%%_!rev_lst!"
if %%_ GTR !hst! set/a hst=%%_
if %%_ LSS !lst! set/a lst=%%_
set/a pry=%%_ %% 2
if !pry! EQU 0 set "evn_lst=!evn_lst!%%_"
)
more/c<nul
echo: Cifra: %num% ^| Invertido: %rev_lst% ^| Mayor: %hst% ^| Menor: %lst% ^| Pares: %evn_lst%
pause 1>nul & exit


Otro más para la colección. A ver si hoy los termino todos ya  :P

Meine programmen

Pues aqui esta mi solucion

@ECHO OFF
SetLocal EnableDelayedExpansion
SET /P NUMNAT=¨Numero natural?
echo %NUMNAT%>NUMNAT.bar
FOR %%A IN (NUMNAT.bar) DO (SET /A LONG=%%~zA - 2)
DEL NUMNAT.bar
SET /A LONGMENOS1=%LONG%-1
SET NUMNATINV=
FOR /L %%B IN (0,1,%LONGMENOS1%) DO (SET NUMNATINV=!NUMNAT:~%%B,1!!NUMNATINV: =!
SET NUMNATESP=!NUMNATESP!!NUMNAT:~%%B,1! )
FOR %%C IN (%NUMNATESP%) DO (IF .!NUMMAX!.==.. SET NUMMAX=%%C
IF %%C GEQ !NUMMAX! SET NUMMAX=%%C)
FOR %%D IN (%NUMNATESP%) DO (IF .!NUMMIN!.==.. SET NUMMIN=%%D
IF %%D LEQ !NUMMIN! SET NUMMIN=%%D)
FOR %%E IN (%NUMNATESP%) DO (SET /A MOD=%%E %% 2
IF !MOD!==0 SET PARNUMS=!PARNUMS!%%E )
echo Numero          : %NUMNAT%
echo Numero invertido: %NUMNATINV%
echo Numero menor    : %NUMMIN%
echo Numero mayor    : %NUMMAX%
echo Numeros pares   : %PARNUMS%
pause >nul
exit

A ver que tal lo hice  ;D
REMEMBER! Reality is an illusion, the universe is a hologram, BUY GOLD! BYE!!


Dankhrat

Hola, soy nuevo en esto, podrían decirme que debo empezar a estudiar, leer para hacer esto, no quiero leer las soluciones, de hecho no las he visto, claro esta si me recomiendan algo por favor sea de forma ordenada, desde lo basico