[Reto Batch] Sort random nums

Iniciado por Eleкtro, 5 Mayo 2012, 17:04 PM

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

Eleкtro

Aquí pueden comentar todo lo que quieran, sus dudas, avances o soluciones acerca del siguiente reto:


Reto Nº 7

Nombre:           Sort random nums (Elektro H@cker)
Dificultad:        3/10
Objetivo:         Un bat que genere una lista de 20 números aleatorios, de 3 cifras, Y muestre el resultado ordenado.
Ejemplo:
                       
Solución:         Pedir por mensaje privado








-- KiLiaN --

#1
Algo como esto?

Código (dos) [Seleccionar]
@echo off
Setlocal EnableDelayedExpansion
For /L %%i in (0,1,20) do ( set /a num=!RANDOM! * 1000 / 32768 +1
if !num! LEQ 99 (set /a num=!num!+100)
if !num! GEQ 1000 (set /a num=!num!-100)
echo !num!>>archivo.tmp)
type archivo.tmp | sort
del archivo.tmp


EDIT: Me acabo de fijar que no todos son de 3 cifras, sigo con ello..
ReEDIT: Creo que con eso basta xD
REReEdit: Cierto, a mi también me salio un 99 :S a ver si ahora..
Entren al chat de elhacker.net
    
   

@kln13

Eleкtro

Cita de: -- KiLiaN -- en  5 Mayo 2012, 18:19 PM
ReEDIT: Creo que con eso basta xD

Me ha salido un "99" y un "1000"  :silbar:








-- KiLiaN --

Entonces...no cuenta como solución?  :silbar:
Entren al chat de elhacker.net
    
   

@kln13

$Edu$

Si te salen numeros de 4 cifras no xD

Ojo que si son aleatorios, tiene que ser un codigo que si al probarlo 2 millones de veces o las que sean necesario, aparezcan los numeros del 001 al 999, es decir, es facil engañar con la salida del codigo mirando y pensando que se generan numeros del 001 al 999 cuando tal vez no es asi. Pero mirando el codigo se puede ver si de verdad se "sortean" del 001 al 999.

Eleкtro









BatchianoISpyxolo

#6
Ahora envío el code :)

PD: En la screen sale un 026 :P
Puede que desees aprender a programar desde 0: www.espascal.es

79137913

#7
HOLA!!!

Código (dos) [Seleccionar]
@ECHO OFF
Setlocal EnableDelayedExpansion
For /L %%f in (1,1,20) do (
SET HOLA=!RANDOM:~-3!
IF !HOLA! LSS 100 (SET /A HOLA=!HOLA!+100)
echo !HOLA!>>a.a
)
type a.a | sort
del a.a


P.d: EL P*TO AVAST ME BORRO EL SORT.EXE.

GRACIAS POR LEER!!!
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

79137913                          *Shadow Scouts Team*

BatchianoISpyxolo

Cita de: 79137913 en  7 Mayo 2012, 21:05 PM
HOLA!!!

Código (dos) [Seleccionar]
@ECHO OFF
Setlocal EnableDelayedExpansion
For /L %%f in (1,1,20) do (
SET HOLA=!RANDOM:~-3!
echo !HOLA!>>a.a
)
type a.a | sort
del a.a


P.d: EL P*TO AVAST ME BORRO EL SORT.EXE.

GRACIAS POR LEER!!!

Random también genera cifras de 1 y 2 dígitos... por tanto no tiene sentido que extraigas los 3 últimos dígitos de un número de 1 o 2 cifras xD
Puede que desees aprender a programar desde 0: www.espascal.es

Eleкtro

Cita de: Batchiano en  7 Mayo 2012, 22:02 PM
Random también genera cifras de 1 y 2 dígitos... por tanto no tiene sentido que extraigas los 3 últimos dígitos de un número de 1 o 2 cifras xD

Cierto  :-\, 79137913
Arregla ese pequeño detalle y habrás conseguido el reto! xD.

Salu2.