Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - luis456

#181
Cita de: ivancea96 en  9 Abril 2015, 14:49 PM
Si quieres insertar sin repetición 30 números del 0 al 99, puedes cargar un vector con las 100 posibilidades, y luego ir eligiendo al azar, e insertando. Al insertar, lo borras del vector para evitar duplicados.

No es meter o insertar 30 numeros es completar explico, si hay 25 numeros la funcion rand debera de llegar a completar la diferencia sin repetir los numeros :)  porque si no lo que podria hacer es sumar otra variable cargada fija a la otra y utlizar " distint" para eliminar repetidos :)

Gracias por responder

Luis
#182
 Otro de mis inventos :)

quiero rellenar con numeros aleatorios cuando la cuenta de la variable este por debajo de 30, el rango de estos numeros es 00 al 99, pero no deberian de repetir en la variable.

tengo esto que rellena pero con ceros

Código (vbnet) [Seleccionar]
If Resultados.Count < 30 Then
     
          Resultados = Resultados.Concat(Enumerable.Repeat(Of Integer)(0, (30 - Resultados.Count)))

         End If


entonces se me ocurrio esto pero nunca me da la seguridad de tener como minimo 30 datos en la variable :( a veces el programa entero no llega a esa cantidad y FALLO

Código (vbnet) [Seleccionar]
If Resultados.Count < 30 Then
           
          Resultados = numerosFaltantesdelRango

       End If





Luis
#183
Hola no tengo Npi de como hacerlo pero alguien me puede decir como se puede evitar o que se reenvien sus mensajes spam ? y saturarlos de tal manera que se les quite las ideas de enviar basura ?

luis
#184
Hasta la fecha ya no me ha molestado el dichoso Virus desde que lo desistale con el programa que os dije :)

Ahora me ha picado la mosca de ver como hacer un programilla para que automaticamente ir blokeando paginas de publiciad que se instalan en el navegador,no un antivirus ya que esos no son virus como tales pero dan la lata como ninguno.

Luis
#185
Para cerrar eseto , aca esta con lo que lo solucione ;) gracias a nuestro amigo elektro   :silbar:

Código (vbnet) [Seleccionar]
' aca esta para relleñar con ceros-----------
        If Resultss.Count <35 Then
            Resultss = Resultss.Concat(Enumerable.Repeat(Of Integer)(0, (35 - Resultss.Count)))

MsgBox(li.Count) '35
        End If


Luis
#186
Cita de: Eleкtro en  1 Abril 2015, 19:45 PM
Código (vbnet) [Seleccionar]
Me.ListBox7.Items.AddRange((From value As Integer In li Where value <> 0).Cast(Of Object).ToArray)

Saludos

Perfecto ;)

Gracias Elektro

Luis
#187
En serio :)  o yo no se buscar o esto no existe

envio a un listbox una serie de datos numericos y los muestro en un listbox y a al principio y segun los calculos estos muestran algunos ceros ( bueno yo diria que bastantes jejej )  :silbar:  y lo que quiero no es eliminar los ceros, pero si que no se vean  y que solo el listbox muestre numeros pero no el cero ( cuestion de estetica )

Código (vbnet) [Seleccionar]
Dim se As IEnumerable(Of Integer) = Resultss
       Dim li As List(Of Integer) = se
       li.Sort()
       Me.ListBox7.Items.AddRange(li.Cast(Of Object).ToArray)
#188
Hola

si Funciona con el codigo de rellenar con ceros :)

Gracias Profe :)

Luis
#189
Hola
bueno con la funcion que me pasaste. No queda tan mal, ya que modificando ciertas cosas en mi funcion puedo hacer que no salgan los ceros :) esto funciona bien

Código (vbnet) [Seleccionar]
If values.Count < 35 Then
            values = values.Concat(Enumerable.Repeat(Of Integer)(0, (35 - values.Count)))
        End If

        MsgBox(values.Count) '35 


Lo de usar las dos variables es para poder hacer mas calculos, ya que entre los dos resultados no importa la cantidad de cada uno, sino los calculos y como unas veces una de las variables no llega a 35 produce el error, pero no se determinar cuando es que esas variables llegan o no al minimo de los 35 y solo me queda con este codigo de arriba trabajar con una sola variable pero se me ocurre que podre trabajar con las dos con el mismo codigo lo unico que tendre que aumentar el area del form jejeje


Otra cosa con la modificacion que hiciste de la funcion hay alguna pega ya que me da error en " SplitIntoParts no esta declarado " lo busco pero no veo el porque, a si que volvi a poner al otro pedazo de codigo y funciona ???

Código (vbnet) [Seleccionar]
Dim splits As IEnumerable(Of IEnumerable(Of Integer)) =
            SplitIntoParts(collection:=values, amount:=2, fillEmpty:=True)



modificacion

Código (vbnet) [Seleccionar]
Public Shared Function SplitIntoParts(Of T)(ByVal collection As IEnumerable(Of T),
                                                ByVal amount As Integer,
                                                ByVal fillEmpty As Boolean) As IEnumerable(Of IEnumerable(Of T))

        Return From index As Integer In Enumerable.Range(0, CInt(Math.Ceiling(collection.Count() / amount)))
               Select If(Not fillEmpty,
                         collection.Skip(index * amount).Take(amount),
                         If((collection.Count() - (index * amount)) >= amount,
                            collection.Skip(index * amount).Take(amount),
                            collection.Skip(index * amount).Take(amount).
                                                            Concat(From i As Integer
                                                                   In Enumerable.Range(0, amount - (collection.Count() - (index * amount)))
                                                                   Select DirectCast(Nothing, T))))
    End Function   



Hoy trabajare en esto y tratere de hacerlo funcionar con:



Código (vbnet) [Seleccionar]
If values.Count < 35 Then
            values = values.Concat(Enumerable.Repeat(Of Integer)(0, (35 - values.Count)))
        End If

        MsgBox(values.Count) '35   




Ya te contare :)

Gracias

Luis


#190
Cita de: Eleкtro en 31 Marzo 2015, 19:14 PM
El requisito de que sean 35 elementos no se por que es, pero si el problema es que quieres evitar el error de valor nulo, y suponiendo que no te importe evitar dicho error rellenando los elmentos restantes de la secuencia con ceros hasta llegar a los 35 elementos, entonces puedes hacer simplemente eso, rellenar (bueno, concatenar la secuencia con una secuencia de ceros):

Código (vbnet) [Seleccionar]
If values.Count < 35 Then
    values = values.Concat(Enumerable.Repeat(Of Integer)(Nothing, (35 - values.Count)))
End If

MsgBox(values.Count) ' 35


¿eso te sirve para lo que quieres hacer?

Saludos.


Pense en eso una ves pero aparte de " Feo "  y no importa que sea para mi jejej, me gusta mucho la idea de poder usar las dos variables ya que mejora sustancialmente el poder de calculo de mi code

Lo de los 35 numeros es el minimo para que (splits(15) tenga numeros para evitar el error , ya que mi idea es seguir aumentando los splits pero modificando la rutina y las variables y estoy parado en este punto y mira que me horas he vistando la pagina " FAMOSA " donde esta todo lo de linq: jejeje

alguna idea ?   Profe 
Luis