none
Como creo un numero random de 4 digitos ?? RRS feed

  • Pregunta

  • hola...quisiera saber como genero un numero aleatorio en visual basic 2008 en consola de 4 digitos

    y que no se repitan siempre las mismas series

    gracias!!

    lunes, 31 de mayo de 2010 20:25

Todas las respuestas

  • Dim rnd1 As New Random()
    Dim N as Integer=rnd1.Next(9999)
    Console.Writeline("{0:0000}", N)
    lunes, 31 de mayo de 2010 20:53
  • gracias...y si ese numero de 4 cifras no puede arrancar con 0 como hago? o sea seria un numero desde 1000 a 9999...
    lunes, 31 de mayo de 2010 21:02
  • Dim rnd1 As New Random()
    Dim N as Integer=rnd1.Next(9000) + 1000 'Aquí trae un número entre 0 y 8999 y le sumamos 1000
    Console.Writeline("{0:0000}", N)
    
    Suerte!
    

    Para el correcto funcionamiento y que otros usuarios se puedan beneficiar de la solucion de esta pregunta por favor marca las respuestas que te hayan ayudado como "Respuesta".
    Si la respuesta te ha sido útil por favor Vótala.

    Gustavo A. Cantero
    Scientia® Soluciones Informáticas
    MCP - MCSD - MCTS - MCPD
    http://www.scientia.com.ar
    http://www.programandoamedianoche.com
    http://foro.scientia.com.ar
    lunes, 31 de mayo de 2010 21:26
  • Perdón, me habia olvidado que el método Next tiene una sobrecarga, para pasar los valores del rango, con lo cual el código quedaría así:

    Dim rnd1 As New Random()
    Dim N as Integer=rnd1.Next(1000,10000)
    Console.Writeline("{0:0000}", N)

    Ten en cuenta que el primer parámetro es el valor mínimo incluido y el segundo el valor máximo excluido, por lo cual el valor a obtener va a ser: mínimo  <= valor < máximo, o sea, 1000 <= valor < 10000.
    Suerte!


    Para el correcto funcionamiento y que otros usuarios se puedan beneficiar de la solucion de esta pregunta por favor marca las respuestas que te hayan ayudado como "Respuesta".
    Si la respuesta te ha sido útil por favor Vótala.

    Gustavo A. Cantero
    Scientia® Soluciones Informáticas
    MCP - MCSD - MCTS - MCPD
    http://www.scientia.com.ar
    http://www.programandoamedianoche.com
    http://foro.scientia.com.ar
    lunes, 31 de mayo de 2010 22:57
  • ¿Pudiste resolver tu problema?

    Saludos.


    Para el correcto funcionamiento y que otros usuarios se puedan beneficiar de la solucion de esta pregunta por favor marca las respuestas que te hayan ayudado como "Respuesta".
    Si la respuesta te ha sido útil por favor Vótala.

    Gustavo A. Cantero
    Scientia® Soluciones Informáticas
    MCP - MCSD - MCTS - MCPD
    http://www.scientia.com.ar
    http://www.programandoamedianoche.com
    http://www.gustavo-cantero.com.ar
    martes, 1 de junio de 2010 19:43
  • si ese problema lo resolvi muchas gracias pero ahora me piden que cada numero solo puede aparecer una vez en las 4 cifras....por ejemplo no puede generar el 2201 porque el 2 aparece 2 veces...como puedo hacer para que los numeros de las 4 cifras sean todos distintos?

    gracias por lo anterior :) me facilitaron mucho todo

    viernes, 4 de junio de 2010 15:29
  • Creo que te serviría algo así:

     

    Dim rnd1 As New Random()
    Dim N1 as Integer
    Dim N2 as Integer
    Dim N3 as Integer
    Dim N4 as Integer
    
    N1=rnd1.Next(10)
    
    DO
    	N2=rnd1.Next(10)
    LOOP WHILE N2=N1
    
    DO
    	N3=rnd1.Next(10)
    LOOP WHILE N3=N1 OR N3=N2
    
    DO
    	N4=rnd1.Next(10)
    LOOP WHILE N4=N1 OR N4=N2 OR N4=N3
    
    Dim N as Integer = N1 + (N2 * 10) + (N3 * 100) + (N4 * 1000)
    
    Console.Writeline("{0:0000}", N)
    Suerte!


    Para el correcto funcionamiento y que otros usuarios se puedan beneficiar de la solucion de esta pregunta por favor marca las respuestas que te hayan ayudado como "Respuesta".
    Si la respuesta te ha sido útil por favor Vótala.

    Gustavo A. Cantero
    Scientia® Soluciones Informáticas
    MCP - MCSD - MCTS - MCPD
    http://www.scientia.com.ar
    http://www.programandoamedianoche.com
    http://www.gustavo-cantero.com.ar
    viernes, 4 de junio de 2010 15:42