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

 

 


Tema destacado:


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ... 420
71  Foros Generales / Foro Libre / Re: Conflicto Ucrania-Rusia,EEUU, OTAN, Europa. (Todo las noticias relacionadas irán aquí) en: 26 Junio 2022, 02:54 am
Misil ruso falla y vuelve a la zona de lanzamiento
Esto les debería pasar con cada misil que disparan...
72  Comunicaciones / Dispositivos Móviles (PDA's, Smartphones, Tablets) / Re: Patrón de Desbloqueo: duda en: 26 Junio 2022, 02:48 am
Me regalaron un Smartphone usado ( Samsung Galaxy J7 2016 modelo SM-J710MN; Android 8.1.0 ) que para iniciar sesión hay que dibujar un patrón de desbloqueo; ¿ Existe alguna forma de desactivar el patrón de desbloqueo 
Opino como Daniel...
...pero sí, hay una forma en este caso concreto...
Y es que si de verdad te lo regalaron (y no es robado), te basta con pedir el patrón a la persona que te lo regaló. Más sencillo imposible.
73  Programación / .NET (C#, VB.NET, ASP) / Re: Generador de musica en: 26 Junio 2022, 02:16 am
Supongmaos que tenemos una lista de 100 canciones (la cantidad es irrelevante ahora mismo)...

Es ideal tenerlos indexados de alguna manera, supongamos que mantienes las rutas en un array...
0) ruta a la canción 0.mp3
1) ruta a la canción 1.mp3
...
99) ruta a la canción 99.mp3

Bien pués la idea es tener una función que primero recoja el número de canciones solicitadas al azar...

Código:
  entero IndexOrden, IndexAzar
   string [] Canciones
   entero[] Barajado

funcion InicializarArrayExtra(entero cantidad)
    entero k

    alojar espacio para Barajado[cantidad]

    bucle para k desde 0 hasta cantidad -1
        barajado[k] = k
    siguiente
fin funcion

entero[] = funcion GetListaReproduccion( entero cantidad, buleano alAzar, entero TotalCanciones)
    entero k, j, i, n
    entero[] Lista
    
    //NOTA: No se comprueba que cantidad sea negativo, cero, o un valor mayor que 'canciones'... debería verificarse antes de llamarse aquí.
    alojar espacio para lista[cantidad]

    Si (alAzar == FALSE)
        j = (IndexOrden + cantidad)
    sino
        j = (IndexAzar + cantidad)
    fin si

    si (j >= TotalCanciones)
        n = (j modulo TotalCanciones)
        j = TotalCanciones -1
    sino
        n = -1
    fin si
    
    si (alzar == FALSE)                             // se toma la lista en secuencia, siguiendo
        bucle para i desde IndexOrden hasta j
            lista[k] = i
            k +=1
        siguiente
        bucle para i desde 0 hasta n  // si n es negativo no entrará al bucle.
            lista[k] = i
            k +=1
        siguiente
        IndexOrden = i      // se actualiza el index... para una próxima llamada.  
    sino   // Elegidos al azar.
        Si (n <=0)   // barajamos...
            llamada a Barajar(cantidad, TotalCanciones lista[] )
        fin si

        bucle para i desde IndexAzar hasta j
            lista[k] = barajado[i]
            k +=1
        siguiente
        si (k < cantidad)  // no se han recogido todos los solicitados en ese tramo restante...
             llamada a Barajar(cantidad, TotalCanciones lista[] )
        fin si
        bucle para i desde 0 hasta n  // si n es negativo no entrará al bucle.
            lista[k] = barajado[i]
            k +=1
        siguiente

        IndexAzar = i      // se actualiza el index... para una próxima llamada.  
    fin si

    devolver lista[]
fin funcion

// La lista se pasa por referencia
Funcion Barajar(entero cantidad, entero TotalCanciones, entero[] Lista )
    entero k, j, tmp
 
    bucle para j desde TotalCanciones -1 hasta 1 retrocediendo
        k = random(entre j y 1)            // elegir un indice al azar

        // intercambia el elemento en posición 'i', con el elemento en posición 'k'
        tmp = barajado[j]                        
        barajado[j] = barajado[k]
        barajado[k] = barajado[tmp]
    siguiente
fin funcion


...y eso es todo...
Si lo revisas bien... verás que la lista no se toca, lo que se hace es usar un array adicional del mismo tamaño que el array de canciones... que se inicializa después de tomar el array de canciones, pués el tamaño de este array es el parámetro que se precisa para inicializar dicho array temporal. Inicialmente dicho array se mantiene en orden, pero luego se barajará.... desordenando los índices.

Cuando se invoque la función 'GetListaReproduccion', se la pasan 3 parámetros...
- La cantidad de canciones que se quiere reproducir...
- Si se desea reproducir al azar, o en el orden en que aparecen.
- La cantidad total de canciones que tiene la lista de canciones (en el ejemplo sería 100).

Lo primero que hace la función es retomar un 'index' que puede tener un valor previo y que se va actualizando...
Cada 'modo de reproducción' mantiene su propio index, para no interferir... es decir es posible reproducir las canciones al azar y luego alternar a ordenado, volver a reproducir al azar y luego ordenado , etc... y siempre se estarán reproduciiendo canciones no escuchadas antes...

De hecho si revisas a fondo el pseudocódigo, verás que cualquier canción no se volverá a reproducir hasta que no se hayan escuchado las otras 99... es circular... de modo que si se han pedido 15 canciones y se empieza en la canción 92, tomará las 7 que quedna hasta el 99 y luego tomará las otroas 8 desde el índice 0.

En el caso de 'al azar', cuando se han escuchado todas, se vuelven a a barajar, para disponer de otro orden distinto... fíjate que si tras el primer bucle no se han recogido todos los índices, volvemos a barajar antes de retomar las que faltan para devolve rla lista con los índices que se han de reproducir...



La función lo que devuelve es un pequeño array de indices, son estos índices los que 'mandan' sobre la lista a reproducir....
La función de reproducción sería tal que así:

Código:
// Ambas listas se pasan por referencia
funcion Reproducir( entero Cantidad, string[] canciones, entero[] Lista)
    entero k
    string rutaMp3

    bucle para k desde 0 hasta cantidad-1
        rutaMp3 = canciones[lista[k]]
        reproducir(rutamp3 .... )
    siguiente  
fin funcion

Si te fijas, tomamos como ruta, no el índice k en el array de canciones, si no que el índice en canciones a reproducir, es el valor que contiene el array lista en el índice k... (que se tomó de la función previa).

p.d.:
Fíjate que esta función 'Reproducir', recibe como parámetro la lista, de índices que ya se ha obtenido, pero podría modificarse ligeramente la función y recibir otro parámetro, para adquirir la lista desde dentro de dicha función.... se hace el pesudcódigo para este cambio, nota ahora los parámetro de entrada...


Código:
// La listas se pasan por referencia
funcion Reproducir( entero Cantidad, string[] canciones, buleano alAzar)
    entero k
    string rutaMp3

    lista[] = GetListaReproduccion(cantidad, canciones.Length, alAzar)

    bucle para k desde 0 hasta cantidad-1
        rutaMp3 = canciones[lista[k]]
        reproducir(rutamp3 .... )
    siguiente  
fin funcion
Antes se asumía que la lista se solicitaba antes de llamar a la reproducción, ahora esta función resulta más 'funcional'...

Cuando salga d ela función 'Reproducir' es ahora cuando puedes indica ral usuario eso de:
Código:
cout << "\t>>>Siguiente bloque de canciones, pulse cualquier tecla" << endl;
74  Sistemas Operativos / GNU/Linux / Re: Iniciar Tails en USB en: 24 Junio 2022, 18:01 pm
Si 'aparece en la lista de USB problematicos', será porque no tiene solución.
¿No te parece que es eso precisamente la razón por la que aparece en la lista de problemáticos???.

Luego la solución es obvia... utiliza otro dispositivo que no conste en dicha lista.
Si el dispositivo es un modelo nuevo fabricado recientemente, podría no constar en la lista... porque aún no ha sido probarlo o no ha sido reportado aún, por ello es recomendable (si vas a adquirir uno), que sea uno del que tengas cierta seguridad que funcionará, por lo que sería adecuado descartar dispositivos recientemente fabricados.
75  Programación / .NET (C#, VB.NET, ASP) / Re: Generador de musica en: 24 Junio 2022, 17:53 pm
...y hay que adivinar las líneas de código que necesitan ser cambiadas o añadidas a tu programa?.

Si llamas a un taller (mecánico) por teléfono porque necesitas cambiar una rueda pinchada, lo primero que te van a preguntar es de qué vehículo se trata... una bici, una moto, un tractor, un autobús, un patinete eléctrico... cada uno calza ruedas distintas al margen de la marca, pues aún siendo de igual tamaño pueden tener diferente sección del eje o diseño de sujección. Si no lo hay en el almacén tendrán que mandarlo pedir... pero ¿qué van a pedir si faltan los datos de lo que hay que pedir???
76  Foros Generales / Foro Libre / Re: Conflicto Ucrania-Rusia,EEUU, OTAN, Europa. (Todo las noticias relacionadas irán aquí) en: 23 Junio 2022, 03:35 am
Citar
...El portavoz del Kremlin, Dimitri Peskov, tachó de inaudita e ilegal la decisión de Lituania. Cree que "es un elemento de bloqueo" y que Rusia responderá en cuestión de días. Algunos medios rusos como la agencia estatal 'RIA Novosti' han afirmado que este bloqueo es un 'casus belli'.
No es un bloqueo... Simplemente tendran que dar la vuelta. Rusia tiene acceso total a Kaliningrado... eso sí, a través del mar Báltico. 'Ajo y agua...' que es lo mismo que ellos reparten.
77  Seguridad Informática / Seguridad / Re: Recursos de eliminación de datos. en: 19 Junio 2022, 12:03 pm
... sin saberlo aparecen en los conocidos corredores de datos...
Es decir... que tú sostienes que alguien sin saber que aparece en un sitio se va a molestar en buscar en un sitio que ni sabe que existe, donde ni sabe que aparece.

Ya lo veo... mañana alguien de repente decide borrar su rastro de internet y gracias a tu mensaje de 700 enlaces, él ya sabe que aparece (por ejemplo) en : -https://www.arivify.com/ porque ha ido uno por uno mirando en los 200 registros que has puesto...

Genial, muy útil...  :silbar: :silbar: :silbar: :silbar:
78  Informática / Software / Re: RUFUS en: 18 Junio 2022, 01:42 am
hIceun Pendrive con Rufus para instalar el Win 11...
Tenia entendido que con Rufus, se instalaba sin problema
Estás intentando instalarlo desde el propio windows????.
79  Foros Generales / Dudas Generales / Re: Cuenta de Instagram Bloqueada en: 18 Junio 2022, 01:39 am
Todavía debería poder dejarte entrar o confirmar a través de un mensaje SMS si tienes vinculado tu tf. con la cuenta de instagram.

Escríbeles y diles que esa cuenta de correo ya no existe, que la diste de baja... pero que igualmente eres miembro de facebook (son la misma empresa después de todo), que abriste tu cuenta de instagram desde facebook y porqué facebook te reconoce tu cambio de cuenta de correos, pero Instagram se muestra tan fijo...

Para otra, antes de dar de baja una cuenta de correos (en favor de otra), actualiza todas las cuentas que requieran ese correo a la nueva cuenta que deberán dirigirse, porque incluso para hacer ese cambio se pide confirmación (típicamente) desde la cuenta aún asociada.
Suele ser un rollo, porque a veces uno ni siquiera recuerda todas las cuentas que tiene asociadas (que exigen o pueden exigir verificación) a un correo dado... Los propios servidores de correos no disponen de un panel en el que uno pueda señalar: "Este sitio está asociado a esta cuenta para login o verificación"... y así facilitar tales tareas.
80  Sistemas Operativos / Windows / Re: Sueno un pitido de vez en cuando y a menudo, es Emule? El ordenador portátil? en: 18 Junio 2022, 01:09 am
Cuando te quedas sin espacio en disco, emule puede emitir un pitido (o un sonido hablado) si está activado, y puede también en otras ocasiones si igualmente está activado.

Cuando el disco no tiene suficiente espacio libre, las descargas se detienen.
Páginas: 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ... 420
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines