elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


Tema destacado: Como proteger una cartera - billetera de Bitcoin


  Mostrar Mensajes
Páginas: 1 ... 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 [322] 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 ... 436
3211  Programación / .NET (C#, VB.NET, ASP) / Re: Arrays en VB.net en: 8 Marzo 2018, 22:00 pm
Hola, estuve siguiendo estos pasos que me comentaste y lo codifique de la siguiente manera:

    Private Sub calcular()
        miArray(0) = 12
        miArray(15) = 87
        ListBox1.Items.AddRange(miArray)
        ...
        ...
        ...
    End Sub

En el diseño del formulario coloque 1 textbox, 1 boton y 1 listbox. Bien, ya agregados los numeros mediante listbox, este hace la suma y calcula el promedio,

pero al mostrarlo en el listbox aparecen varios 0 y otros numeros al parecer aleatorios.
Claro... si lees bien el código en la función calcular, sobran las 2 primeras líneas... yo las puse de ejemplo:
miArray(0) = 12
miArray(15) = 87
Solución: borra esas dos líneas (siempre lee el código y trata de entenderlo, para que no pase eso, copiar y pegar sin más no está bien).

En cuanto a los valores, 0 y otros... te has comido el código del evento 'Validating'... luego no existe ninguna validación, el evento 'validated', se lleva a cabo en ausencia de su correspondiente 'validating'...
Solución: Incluye el código del evento Validating
3212  Programación / Programación C/C++ / Re: Creacion de matriz en: 8 Marzo 2018, 21:23 pm
Tengo que crear una matriz de numeros ( 1 a 6) con un ancho X y un largo Y
en tu ejemplo 6x4, x=6 y=4, ok...

 
El array Z0 debe tener un 5  y el Z-1 un 6. Entonces quedaría algo asi:
XXX5XX
XXXXXX
XXXXXX
6XXXXX


Elige al azar una columna en sendas filas y la rellenas con el susodcho valor.
Código:
    n = Random(entre 0 y x-1)
    Array(0, n) = 5  // línea 0 posición n, un 5

    n = Random(entre 0 y x-1)
    Array(y-1, n) = 6  // linea 3, posicion n, un 6.


La siguiente condición es que en Zx debe existir un 2 y en Zx+1 un 3.
X2X5XX
X3XX2X
XXXX32
6XXXX3
Esta parte, no acabo de entenderlo.

No sé a que llamas Zx, mirando el array... ¿una fila, una columna, una columna de una fila, de varias?

Vale, tras mirarlo más veces, creo entender que lo que tratas de hacer es crear un 2 en cada línea excepto la última y asignar un 3 en la misma columna pero en la siguiente fila.
Si es así, este sería el pseudocódigo:
Código:
    bucle para k desde 0 hasta y-2
        hacer
            n = random(entre 0 y x-1)
        repetir mientras array(k,n) distinto de 0  // no queremos que sobrescriba el 5 ni el 6

        Array(k,n)=2
        Array(k+1, n)=3
    siguiente en bucle


Y la ultima condición es que :
Entre 2/3/6/5 solo puede haber 1.
X215XX
X3112X
XXXX32
611113

Entiendo que entre 2 y 2,3,5,6; entre 3 y 2,3,5,6; entre 5 y 2,3 y entre 6 y 2,3. Pero no entre 5 y 6, porque no están en la misma línea (ni pueden estarlo), Así como tampoco 2 cincos ni 2 seis.
Código:
    bucle para k desde 0 a y-1 // por cada linea 
        // buscar punto de comienzo
        bucle para j desde 0 a x-2  // por cada columna  
            Si array(k,j) = 2,3,5 ó 6 luego //buscamos un valor en la fila (2,3,5,6)
                ini= j    // y lo recordamos.
                salir del bucle
            fin si
        siguiente en bucle
        
        // buscar punto final
        bucle para j desde ini+1 a x-1  
            Si array(k,j) = 2,3 ó 5 luego buscamos un valor en la fila (2,3,5,6)
                fin= j
                salir del bucle
            fin si
        siguiente en bucle

        // rellenar entre medias (de inicio y final)...
        bucle para j desde (ini +1) hasta (fin-1)
             array(k, j) = 1
        siguiente en bucle
    siguiente en bucle
El código en esta sección se puede optimizar (yo lo dejo así por claridad), por ejemplo:
    - recorriendo el bucle segundo desde el final hacia atrás...
    - mientras no se encuentre el valor final, escribir YA el 1, haciendo innecesario el bucle final.
    - en vez de salir de un bucle, anidar dentro de él el siguiente bucle (aunque en líea ganan en claridad).

Todo lo demas que no fue seteado pueden ser 1 ó 4

Se supone que lo que no tiene 'valor' es 0... es decir que inicialmente el contenido del array era todos ceros.
Código:
bucle para k desde 0 a y-1  // por cada linea
    bucle para j desde 0 a x-1 // por cada columna
        Si Array(k,j) = 0
           n= random(entre 0 y 1)  //elegir 1 de 2 opciones
           n = ((n * 3) +1)   // Si False = 1, si TRUE=4
           Array(k,j) = n
        fin si
    siguiente en bucle
siguiente en bucle

3213  Foros Generales / Noticias / Re: La Liga está buscando un “técnico de antipiratería digital” en LinkedIn en: 7 Marzo 2018, 22:05 pm
Ganan tan poco que tienen que exprimir el limón digo el balón, hasta reventarlo...

Precisamente ahora que ya hay cadenas que han rechazado adquirir derechos de retransmisión porque los precios son inasumibles, y saben que sus clientes no podrían ni querrían pagar tales precios.

Opino que el fútbol está sobrevalorado, y si me apuran hasta corrompido... (con tanta idiotez de 'ultras' de tal o cual equipo... parece que olvidan que los 'clubs de fútbol' hace más de 20 años que dejaron ser "clubs deportivos" y que son empresas cuya misión principal es hacer dinero...). Intento imaginarme 'ultras de movistar' peleando contra 'ultras de vodafone', o 'ultras de Ford' contra 'ultras de Renault'... y me pasa lo mismo, lo veo terriblemente idiota, porpio de gente sin cerebro.
3214  Foros Generales / Noticias / Re: Alexa se está riendo de la gente sin que se lo pidan en: 7 Marzo 2018, 21:57 pm
Ése ha sido siempre el temido suceso en la robótica (con sistemas artificiales)... que sin venir a cuento, si debían coser una arteria durante una operación, le rebane el cuello al paciente...  :silbar: :silbar: :silbar: :silbar:

En la vda real, siempre cabe la posibilidad de un médico loco, pero en un robot, si le pasa a uno, solo a uno, siempre se considerará un error imperdonable. en un ser humano, entenderemos que está poseído de maldad, locura, etc... y en general se sabe que eso afectará a ese médico, no que contagiará al resto de colegas del hospital, con un robot, el miedo es que el problema afecte a toda una serie (como pasa a los vehículos con algún defecto de fábrica).

En fin, siguen siendo juguetes caros... les quedan muchas lunas para tener fiabilidad.
3215  Foros Generales / Noticias / Re: La polémica decisión de diseño de poner un "notch" en la pantalla de sus ... en: 7 Marzo 2018, 21:49 pm
Esta tontería no se merece una noticia... (salvo para los que se dediquen a cuestiones de diseño).
3216  Informática / Hardware / Re: Errores reparables PC en: 7 Marzo 2018, 21:42 pm
Puedes cambiar los cables de power y reset con los de led, según lo hagas no arrancará el equipo... solo una comprobación visual al apartado puede revelar el 'error'. También puedes cambiar la pila por una agotada.

Remplaza un cable de datos del disco duro, por otro dañado (que le falte algun pin/contacto)...

Incluso cambiar el conector del ventlador de la CPU a uno del chasis, que no tenga sensor/control de velocidad, puede resultar que si altiempo has fijadoen la BIOS que apague con una temperatura muy baja, así ocurrirá, porque aunque el sistema detecte que se sobrecalienta, la orden de acelerar el ventilador, para bajar temperatura, no surtirá efecto...

En fin, todo lo que pienses al respecto es de tipo 'manazas', algo distinto a la realidad... en la realidad algo falla y en apariencia todo está bien, luego descubrir fallos reales de fallos provocados difiere, pero bueno como práctica siempre vale.
3217  Foros Generales / Noticias / Re: Un niño de dos años bloquea el iPhone de su madre por 47 años en: 7 Marzo 2018, 18:24 pm
Realmente ridículo...

Un bloqueo, debería limitarse a que si alcanza una cifra de espera límite (pongamos una semana, un mes de espera), no aumentarlo en lo sucesivo, y simplemente negar el procesado de cualquier intento posterior de acceso, al alcanzar dicho límite. Y si restados x días, se produce un nuevo intento de acceso fallido, de nuevo llevarlo al límite... Eso basta y sobra, no hay un botón nuclear tras el teléfono de cada persona...
Incluso yendo más lejos, dejaría que cada persona decida él mismo el límite que establece de bloqueo entre un rango elegible, conforme a los 'secretos' que guarde y su propio nivel de paranoia.

...y eso son diseños de gente trabajando en Apple, vaya castaña de "profesionales". Se merecen más llamarles "chapuzas".
3218  Foros Generales / Noticias / Re: La lenta y previsible muerte de las cookies de internet: otras víctimas de lo mó en: 7 Marzo 2018, 18:10 pm
A ver si es verdad y desaparece definitivamente esa forma de intromisión, con excusas peregrinas...

Aunque a día de hoy, la preocupación de la seguridad ha crecido fuertemente en otras áreas superando a este problema.
3219  Foros Generales / Noticias / Re: Microsoft da la espalda a Office 2003: actualiza, o no podrás usar archivos ... en: 7 Marzo 2018, 06:13 am
No estoy de acuerdo en casi nada...

Si alzan la mirada y miran un poco lejos, pueden hacer mejoras cosas, pero programan solo en vista al año que están y que dure pocos años...porqué?... porque les interesan los cambios permanentemente, viven de ello quieren venderte cada año, un vaso para beber, a pesar de que te baste con el del año pasado.

Si algo no caduca, nada mejor que forzarlo a caducar. Flexibilidad, ninguna, no les interesa... Flexibilidad es hacer compatible los programas nuevos con los formatos viejos...

Y la cuota de mercado, es porque resulta imposible ya adquirir equipos nuevos montando windows-Xp, o windows-7... A ninguna empresa (con solera), e hace ni pizca de gracia tener que comprar de nuevo equipos y software cada pocos años, sumando a todo ello, el tiempo perdido en la curva de aprendizaje de sus trabajadores...
La máxima en la mayoría de las empresas, es que: "Si algo funciona y funciona bien, no lo cambies"... solo cambia el que quiere presumir de 'estar a al última', vamos prácticamente las empresas tecnológicas, las que viven precisamente de crear y hacer funcionar dicha tecnología...

Las razones son de sobra conocidas, la cuestión es porqué una y otra vez, acaban haciendo siempre lo mismo. Los marineros llevan milenios usando los mismos nudos... funcionan, no tienen que caducar e inventar nuevos nudos, solo para obligar a comprar nuevas cuerdas... Se pueden mejorar las cuerdas... pero no tocar los nudos.

Microsoft se muere por forzar a todos los usuarios que siguen usando versiones antiguas de Windows para que migren a windows-10, les encantaría hacerlo de un plumazo, pero como no es ni ético ni legal, no queda otra que ir 'fastidiando' poco a poco... de forma sutil, si aguantas un embate, quizás no el siguiente o el siguiente... cuando se acumnulen demasiados, al final fuerzan el cambio... algo que solo debiera ocurrir cuando los equipos se averiaran sin arreglo.

Qué mejor que sacar un nuevo formato de lo que sea, para que los programas viejos, ya no puedan abrirlo????... es la forma sigilosa... los formatos podrían ser mucho más robustos a veces desde una década atrás, pero es su "as en la manga", lo saben desde hace más de 30 años... y tiran de él, cuando como ahora, les urge.
3220  Programación / .NET (C#, VB.NET, ASP) / Re: Arrays en VB.net en: 7 Marzo 2018, 05:51 am
La respuesta que te ha dado Elektro es muy válida, pero para programadores con algo más de soltura. ciertamente si estás empezando y a duras penas sabes que es un array y otras estructuras, necesitarías más tiempo (posiblemente) del que dispones para ser capaz de entender y aplicar satisfactoriamente lo que te explica.

A tu nivel...

Declara un array de 20 elementos, un valor para contener el valor actual y un índice que refleje cuantos llevas ya acumulados en tu array...
Código
  1.    Dim miArray(0 To 19) As Object  ' por ejemplo, o un tipo numérico que prefieras... si luego quieres añadir elementos uno a uno.
  2.    Dim miMumero As Int32
  3.    Dim miIndice As Byte
  4.  

Se supone que al menos tienes en la interfaz un textbox, un botón y un listbox...
Entonces deberías usar el evento Validate del textbox...
Código
  1. Private Sub TextBox1_Validating(... , ByVal e As CancelEventArgs) Handles textBox1.Validating
  2.        Try
  3.            miMumero = Integer.Parse(TextBox1.Text)
  4.            TextBox1.Clear()  ' es lo mismo que Textbox1.Text = ""            
  5.            e.Cancel = False
  6.        Catch
  7.            e.Cancel = True
  8.            MessageBox.Show("El texto no puede ser interpretado como un número (o número entero), o bien excede el valor de un int32....", "Error...")
  9.            ' puedes seleccionar el texto del control, o borrarlo... en cualquier caso el foco regresa al control textbox, para editar su contenido...
  10.        End Try
  11.    End Sub

Cuando escribes el texto del número en el textbox, ese control tiene el foco, luego cuando otro control intenta ganar el foco (por ejemplo cuando pulsas el botón), se genera el evento Validating del textbox, si no valida, el foco se mantiene en el textbox... (forzándolo con Cancel=True) pero si valida, se genera el evento Validated...
Fíjate que ni siquiera colocamos código en el botón... aunque puede hacerse así, por supuesto.


Código
  1. Private Sub TextBox1_Validated(sender..., e As EventArgs) Handles TextBox1.Validated
  2.        miArray(miIndice) = miMumero
  3.        miIndice += 1
  4.        If (miIndice < 20) Then
  5.            MessageBox.Show("Número almacenado, introduzca el siguiente número...")
  6.            TextBox1.Focus()
  7.        Else
  8.            TextBox1.Enabled = False
  9.            Button1.Enabled = False
  10.  
  11.            Call Calcular()  ' ahora que tenemos el array completo, podemos hacer el resto de cosas.
  12.        End if
  13. end Sub

Te diría que crearas un algoritmo de ordenación si tuvieras más conocimientos.
Aparte el Listbox tiene una propiedad Sorted, que se activa en diseño y así cuando se añada un ítem se ordena automáticamente.... pero hay un problema, y es que (si no recuerdo mal de memoria), solo ordena de menor a mayor, y tu lo precisas al revés...

...pero en realidad es más fácil... los arrays tienen un método sort...
Código
  1. Private Sub Calcular()
  2.        miArray(0) = 12
  3.        miArray(15) = 87
  4.        Array.Sort(miArray, 0, 20) ' No son precisos los 2 parámetros, si no se indican se ordena todo el array, pero los pongo, para que te des cuenta, que puedes ordenarlo parcialmente si fuera preciso.
  5.        Array.Reverse(miArray) ' invertimos el orden, o bien mediante un bucle añadir elementos al listbos, uno a uno, empezando por el final del array...
  6.        ListBox1.Items.AddRange(miArray) ' Si declaraste el array de tipo numérico, usa un bucle con el método Add (por ejemplo).
  7.  
  8.        ' Suma
  9.        Dim suma As Int32
  10.  
  11.        For k As Byte = 0 To 19
  12.            suma += miArray(k)
  13.        Next
  14.        MessageBox.Show("La suma total del array es: " & suma.ToString)
  15.  
  16.        ' Media, mediana, moda ???
  17.        Dim media As Single = (suma \ 20)
  18.        MessageBox.Show("La media de los valores del array es: " & media.ToString)
  19.    End Sub
  20.  

...y bueno la validación que indicas, no sé a que te refieres, no sé qué tienes que validar, yo he validado si el texto introducido puede ser tomado como un numero entero de 32bits (ni siquiera un decimal), y lo que falte o haya quedado claro, o haya entendido mal, espero que sepas arreglarlo... tienes suficiente para resol bverlo con poco esfuerzo de tu parte.
Páginas: 1 ... 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 [322] 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 ... 436
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines