 
			
				06/09/2008, 04:32
			
			
			     |  
      |    Colaborador   |    |    Fecha de Ingreso: enero-2008  Ubicación: Unas veces aquí, otras veces allí  
						Mensajes: 1.482
					  Antigüedad: 17 años, 9 meses Puntos: 37     |        |  
  |      Respuesta: Consulta sobre numeros aleatorios         Cita:  
					Iniciado por dr--dre    el 2005, que creo que es la Version 8, no estoy seguro. 
ha perso uso el Visual Basic Express Edition 
me parece buena idea la segunda, va mas con este ejercicio,  
gracias     Hola, prueba con esta función (la pongo bien comentada para que no tengas dudas):   
Código:
  Public Function Aleatorios(ByVal iNum As Integer, ByVal iInf As Integer, ByVal iSup As Integer) As Integer()
        Dim a() As Integer, i As Integer, j As Integer, x As Integer
        ReDim a(iNum - 1) ' redimensionamos la matriz (el subíndice es cero)
        Randomize()
        For i = 0 To iNum - 1
inicio:
            ' generamos un número aleatorio entre los valores indicados
            x = Int((iSup - iInf + 1) * Rnd + iInf)
            For j = 0 To i
                ' si el número ya existe en el array, lo descartamos
                If x = a(j) Then GoTo inicio
            Next j
            ' no existe, lo añadimos a la matriz
            a(i) = x
        Next i
        ' ordenamos el array (recuperamos las variables anteriores para no asignar nuevas)
        ' Nota: Si no los necesitas ordenados, suprime el siguiente bucle
        x = 1
        While (x = 1)
            x = 0
            For i = 1 To UBound(a)
                If a(i - 1) > a(i) Then
                    j = a(i - 1)
                    a(i - 1) = a(i)
                    a(i) = j
                    x = 1
                End If
            Next i
        End While
        ' devolvemos la matriz generada
        Return a
    End Function
  Para llamarla, p.e. desde un Button:   
Código:
  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        ' parámetros: Cantidad de números, primer número, último número
        ' en este caso: 10 números alatorios sin repetición entre el 10 y el 30
        Dim miArray() As Integer = Aleatorios(10, 10, 30)
        ' los mostramos en un control ListBox (para comprobación)
        Dim i As Integer = 0
        ListBox1.Items.Clear()
        For i = 0 To UBound(miArray)
            ListBox1.Items.Add(miArray(i))
        Next i
    End Sub
              |