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

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


  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 24 25 26 27 28 29 30 31 32 ... 421
161  Informática / Software / Re: AUDACITY en: 7 Mayo 2022, 18:01 pm
El programa es gratuito, no tienes que buscarlo en 'sitios raros'.

La última vez que lo bajé para instalarlo residía en https://sourceforge.net/projects/audacity/

Búscandolo allí (desde hace unos años, muchos proyectos se han ido moviendo por ejemplo a github, o a sus propias webs)... ahora se da el mensaje de que se aloja en su propia web, sigue siendo gratuito (aún).
http://www.audacityteam.org/download/
162  Media / Juegos y Consolas / Re: ¿Creeis que la industria del hardware se detendrá cuando se consiga alcanzar el fotorrealismo?. en: 7 Mayo 2022, 17:48 pm
Creo que hay pelis sci-fi sobre eso.
Si. Justamente, ese es el tema central de una peli de Bruce Willis, no recuerdo ahora como se llama... solo que el virtualismo había llegado a tal nivel, que era un robot, quien físicamente se movía y desplazaba por cada humano.
163  Sistemas Operativos / Windows / Re: ¿Bug W11?Sistema se congela completamente en: 7 Mayo 2022, 17:44 pm
Los síntomas que describías, no cuadran con el problema real hallado...

Al inicio, decías:
Citar
a veces sobretodo cuando estoy cerrando procesos el sistema se congela completamente sin darme opción siquiera a ctrl+alt+supr o algún derivado. Estoy hablando de un freezeo total
Si la corriente suministrada por la fuente de alimentación es insuficiente, o un molex está flojo en su conexión, el resultado es que el equipo se apaga. Sin suministro de energía, no procede que siga funcionando... 

Si ese es el problema real, tus síntomas debieran haber sido:
"...y de repente se apaga el equipo, en cualquier momento..." sin asociarlos a momentos específicos de 'apagar procesos', o escribir un fichero, o cambiar de ventana, etc... Síntomas así, hubieran apuntado directamente al suministro eléctrico en cualquier punto, desde el enchufe... incluso antes, por repentinas caídas de tensión en la red eléctrica.
164  Media / Multimedia / Re: ¿Me ha borrado un virus archivos DLL de vídeo? en: 6 Mayo 2022, 22:19 pm
Parece que tienes un windows XP...

Primero mira si la unidad de almacenamiento tiene errores, en tales caso, algunos ficheros pueden quedar dañados y los síntomas y sucesos son como mencionas.
ejecuta el comando:
chkdsk c: /f/v/r
donde 'c:' es la letra de la unidad dle S.O. Te pedira´confirmar si deseas que se ejecute al reiniciar, porque es la unidad de arranque, no puede analizarse ientras está en uso, le dices que sí y acto seguido reinicia... tardará algunas horas dependiendo del tamaño de la partición.

Luego si tras eso sigue habiendo problemas, sería acorde remplazar los ficheros dañados (del S.O.), para ello ejecuta el comando:
sfc /scannow
Deberás tener el cd de instalación introducido en la unidad, de donde rescatará los ficheros dañados.
Como sea que seguramente el CD de instalación tendrá un SP1, o SP2, convendrá luego aplicar (instalar) el SP3...

Si los problemas persisten, puede que haya actividad vírica, pero los antivirus actuales, ya no se dejan instalar en un windows xp, por lo que no podrás disponer (ni actualizarlos) a la últimas versión de firmas de virus, es decir que tu antivirus no será efectivo para los virus más actuales...

Llegado el caso (el tuyo particular), quizás sea preferible rescatar los ficheros personales, listar las aplicaciones instaladas, etc... y al final formatear y reinstalar todo de nuevo.

No descargues ficheros de cualquier parte, y si no existe otro sitio de donde bajar determinados ficheros, al menos antes de instalarlos, vuélcalos a la página web de virus-total, aunque no sea 100% efectivo, al menos te evitará la mayoría de virus y con ello, disgustos innecsarios.

El programa "dependency walker", no sirve para instalar librerías, tan solo para ver los nombres d elas funciones públicas.

Además, no todas las dll, necesitan ser registradas... muchas basta con depositarlas en su ubicación y ya.

Y por último la librería que intentas localizar de ATI, no tiene porqué residir en la carpeta de windows, perfectamente puede existir en alguna subcarpeta de 'Archivos de programa", sea en una carpeta ATI, o en una subcarpeta de 'Common files', etc...
165  Programación / Java / Re: Algoritmo Voraz en: 6 Mayo 2022, 13:10 pm
El problema se presta a resolverlo exactamente... es decir si se da una superficie exacta y las medidas de cada baldosa, puesto que admite que no se quieren 'romper' baldosas, debe tener solución exacta.

En el caso de no requerir exactitud, el problema se resuelve del siguiente modo:


Código:
baldosa(2) = x superficie
baldosa(1) = y superficie
baldosa(0) = z superficie
//donde baldosa(1) es menor que baldosa(2) y baldosa(0) menor que baldosa(1)

index = 2 // empezamos con la baldosa más grande
superficie = la que sea   // la superficie a cubrir
superficieOcupada = 0

Hacer mientras ((completo=FALSE) e (index >= 0))
    baldosa = baldosa(index)
    Mientras ((superficieOcupada + baldosa) < superficie)
        añadir 1 baldosa del tamaño index
        superficieOcupada += baldosa
    repetir

    Si ((superficieOcupada + baldosa) = superficie)
        añadir 1 baldosa del tamaño index
        completo= TRUE  //salir del bucle
    sino
        index -=1  //abordar con una baldosa más pequeña.
    fin
repetir

si (completo= FALSE)
   añadir 1 baldosa del tamaño 0  //sobrepasara la superficie total en este caso
fin si

 

Esta solución no es capaz de resolver con exactitud el problema, ya que puede darse el caso de que añadiendo la baldosa más pequeña, finalmente ocupe una superficie total mayor que la precisa para cubrir la deseada, pero es la mejor aproximación, la más óptima reduciendo el número de baldosas aunque existe la posibilidad de sobrepasar la superficie buscada, y por tanto cortar...

Al requerir una exactitud, debe considerarse un problema mucho más complejo, ya que cada baldosa tiene una superficie y si la superficie no se da en metros cuadrados, si no en largo x ancho, debe abordarse como dos bucles distintos, donde uno debe resolver el largo y otro resolver el ancho.
Y al solicitar una exactitud con baldosas enteras, exige una búsqueda con vuelta atrás, es decir que una baldosa grande añadida previamente sea retirada en favor de más de una pequeña.

Para dar un pseudocódigo, hace falta resolver la ambigüedad de si la superficie es teórica (dada en m²) o en ancho y largo...
de todos modos ahora mismo tengo que marcharme, pero si das respuesta, a la noche puedo mirarlo...


p.d.: Leyendo por encima tu código, observo que tanto la superficie como el tamaño de las baldosas se introducen por teclado y que además son cuadradas. Que sean cuadradas (y no rectangulares, o peor hexagonales, o culauiqer otro polígono) simplifica el caso...
...en cambio que se metan manualmente las medidas no garantiza que haya solución. Por ejemplo:
Si se introduce una superfice de 100cm x 100cm y 2 baldosas de 60x60 y 30x30, lo más aproximado será 90x90 y pasandose será 120x120.
El problema es similar a la devolución en monedas del cambio de una compra, solo que en el caso de las monedas (en su diseño), se ha previsto cubrir cualquier solución de cambio, pués suele haber monedas de 1 y multiplos de modo que es posible satisfacer siempre una solución exacta de devolución (salvo que se limite la cantidad de monedas existentes).

Un detalle que no ha sido precisado es si basta con conocer las baldosas que completan un área determinado, o si además se precisa saber la disposición de las baldosas sobre la superficie (esto último lo hac emás complejo). considera por ejemplo el juego del 'tangram', las piezas que lo componen rellenan la superficie que dan la spiezas, pero otro problema es emplazarlas para ocupar la superficie del puzzle', s decir la ubicación precisa de cada pieza respecto de la otra. No me parece haber leído en la descripción del problema si debe calcularse esto último o si basta con logras encontrar baldosas cuya suma de superficies equivalgan a la superfice que se desea rellenar. Nota que si cierto aspecto no se detalla en la descripción, no puede exigirse después como requisito (jamás a posteriori, para eso se da una especificación previa a la que hay que ceñirse).

Cuando te reportes (si te reportas y haces las preguntas precisas) se podrá avanzar en la solución, si todavía tienes lagunas...
166  Programación / Java / Re: pregunta en: 6 Mayo 2022, 12:44 pm
Impone 2 restricciones (además de otras):
Un rango entre 1 y 20 queries y un rango de string entre 1 y 10^5 + 5
10^5 = 100.000
100.000 + 5 = 100.005
El número es muy alto, por lo que entiendo tu inquietud, y cabe preguntarse si puede estar señalando de una forma rocambolesca la cantidad de caracteres del valor + 5, es decir: 100.000 = 6 caracteres + 5 = 11 caracteres máximo.
Lo llamativo del caso (salvo que sea edición tuya), es que el planteamiento del problema viene en inglés, pero esta restricción aparece en español... "elevado a la"...

Luego yo revisaría la fuente para pedir confirmación. Es decir confirmar con quien proporcionó el ejercicio, si te lo pasó algún compañero pedírselo a otro, etc... incluso (si te lo pasó alguien), no descartaría que esta restricción fuera solamente:
#   -   1 <= length of s <= 10
y que por error en una operación copy-paste ajena se adjuntara ese  "elevado a la 5 + 5"

De confirmar que en origen el problema consta así, ante lo obtuso de la cuestión (que más da si fueran 100.000 caracteres o 100.005), yo lo limitaría a un máximo de 10-11 caracteres. No explicita que hacer en el caso de recibir un string que exceda el tamaño indicado (ó 0 ceracteres), ya que solo señala devolver un entero basado en el string recibido, ergo se asume que en la entrada de datos debe ignorarse (o solicitarse de nuevo si la entrada fuera por teclado), el string del tamaño conveniente, igualmente llevar la cuenta de queries y no resolver más de 20.
Existen más restricciones dadas previamente (que no han de llegar a la función), luego, antes de invocar la función debe rechazarse si:
- El string tiene caracteres que no están en el rango a-z
- El string tiene caracteres que sean mayúsculas (puede aunarse en el caso previo)
- El string tiene un tamaño en caracteres fuera del rango 1-11 (¿¿¿1-100.005???, al final uno no puede resolver tu principal duda). No obstante como espera una palabra, contemplo como caso absurdo esperar 100.005 caracteres como máximo.
- Ya se han aportado 20 llamadas (en tal caso salir del bucle de la función).

Finalmente pide explícitamente que la función se llame y tenga un parámetro definido: palindromeIndex(string s) y que devuelva un entero.

167  Programación / Programación C/C++ / Re: Imprimir sobre un mensaje ya imprimido en C en: 6 Mayo 2022, 01:18 am
estoy tratando de programar "el juego de la vida" en C (no C++) y quiero que me vaya imprimiendo una matriz sobre la otra para que los cambios en ella sean mas visuales, pero no sé cómo.

No sé si existe alguna manera de imprimir sobre algo ya imprimido, es decir, ya habiendo imprimido una matriz por pantalla, imprimir otra de misma dimensión con diferentes coeficientes sobre ella para hacerlo mas visual.
Hay que separar 2 ideas...
1 - Una es la de mantener actualizado los valores de la matriz
2 - Otra es ir dibujando la solución.

Si intentas manipular el caso 1:
Típicamente tras calcular la nueva etapa-ciclo, se redibuja al completo el gráfico.
El cálculo nuevo, debe ir a una matriz distinta, ya que la actual debe calcular con los valores reales, si intentas modificar la matriz actual actualizando sobre sí misma, estás falsificando los datos.
Porque en un instante dado, para cada célula debe calcularse la situación de todos sus vecinos, para decidir su estado, no seguir esto a rajatabla, implica que solo la primera célula calculada sobre el array mantiene realmente un valor 'puro' el resto queda falsificado.
Esto es, el cálculo exige 'tomar una foto' del estado actual (matriz vigente) y el cálculo del nuevo estado volcarlo a otra matriz.
Se supone que la 'unidad tiempo' es para todas las células el mismo, no ceñirse a esto falsifica el 'momentum'.

Si intentas manipular el caso 2:
No hay inconveniente (en cuanto a fidelidad) en ir dibujando cada célula a medida que la calculas, solo que es costoso en recursos (más lento), además el refresco del gráfico de una sola vez de todo el gráfico es tan rápido que no merece la pena, no se distingue a simple vista, puede calcularse y dibujarse 1-100 veces por segundo... depende del área del tablero del juego y el tamaño en píxeles dado a cada célula y de si pones ciertas pausas de tiempo, para tener tiempo de observación entre estados.
168  Foros Generales / Dudas Generales / Re: IP en lista negra:blacklistalert.org en: 5 Mayo 2022, 18:35 pm
Supongo que el problema será de donde te has bajado esa versión de Linux.

Supongo que si te lo bajas de los repositiorios oficiales, no contendrá nada indeseable, al ser código abierto, mucha gente habrá podido verificar quién y dónde haya introducido código mailicioso.

169  Programación / Java / Re: AYUDA CON Inversiones de 1 en: 5 Mayo 2022, 18:18 pm
Bien, aclarado lo d elas 'inversiones' y no tener que entrar en suposiciones: es cada asignación, pero de un valor cuya magnitad es 1 y solo existe una vez en origen, cuando procede del grupo de la derecha (el grupo alto).

No he revisado si el código está correctamente implementado, ya que es tortuoso y fuerza a uno a desistir, mirando solo por encima. ...dando por supuesto que te funciona bien, ya que tú mismo así lo expresas. de hecho sería adecuado que antes de introducir esas líneas d ecódigo verificaras que el algoritmo ordena correctamente la lista...
...entonces (si el algoritmo funciona bien) lo que te resta es llevar la cuenta en el sitio adecuado.

Y dónde se debe llevar la cuenta?. Allí dónde dicho valor es asignado desde la lista 'right'.
Punto 1: - Dado que el valor 1 es el menor la cuenta debe llevarse solo cuando (y nada más que cuando) el valor 1 se localiza en la lista de la derecha (right, el grupo de índices mayor). Hay 2 sitios donde esto puede suceder. Nota el 'puede suceder', ya que esto implica un condicional, como verás...

Aclarado esto... el pseudocódigo del meollo de la cuestión:
Código:
...
hacer mientras ((i < left.length) y (j < right.length))
    Si (left[i] <= right[j])
        a2[k] = left[i]

        i +=1
    sino  
        // Punto 1:
        a2[k] = right[j]
        si a2[k] = 1     //valor
            cont +=1
        fin si

        j +=1
    fin si
    k +=1
siguiente
...

//Punto 2:
hacer mientras (j < right.length) {
    a2[k] = right[j]
    //si a2[k] = 1     //valor
    //    cont +=1
    //fin si

    j +=1
    k +=1
siguiente


Al terminar ese bucle, en efecto, al menos una de las listas (left, right) puede no haberse recorrido hasta el final, luego toca pasar el resto de dicha lista a la de a2, en ese caso no hay intercambio de posición.
Punto 2: - Pero si el valor 1 estuviera en ese resto de la lista, no deberá contarse. Técnicamente en este apartado, no debe contarse porque solo trata de regresar fusionar el resto de la lista de la derecha en la lista principal.
No obstante lo he dejado puesto y comentado, por si el problema se considera de otro criterio...

Para terminar, la variable cont, da demasiadas vueltas de acá para allá, es más sencillo si simplemente lo declaras a nivel de la clase, antes de ejecutar el algoritmo se le da el valor 0 y al final se exhibe su cuenta... La razón es que dicha variable modifica el algoritmo, el algoritmo y todas las funciones dependientes, por tanto no son independientes de su uso, luego ni es práctico ni precisa ser aislada en cada función. De hecho si más adelante se reclama modificar el algoritmo para que haga otra cosa distinta, los cambios serán menores.
Es decir, trata de independizar el trabajo del algoritmo, de lo que luego se solicita internamente del algoritmo (llevar una cuenta específica), que incluso uno podría añadir ese código como código de compilación condicional, pero que sin ser necesario es adecuado para reflejar la diferencia entre el código del algoritmo y el código extra para cumplir lo solicitado.

Remarco en rojo (y por ello lo meto en etiqeutas quote y no code), los cambios principales... del resto de funciones comenta también el 'return cont', solo nos interesa hacer la cuenta (si hemos declarado dicha variable a nivel de la clase).

Citar
public class Inversiones {
    int cont=0;
    int valor=1;
...

    private static int ordenar(double[] a2, int min, int max) {
      int cont=0;
      int middle = (min+max)/2;
      if(min<max) {
         //cont =
                        ordenar (a2, min, middle);
         //cont = cont +
                        ordenar (a2, middle + 1, max);
         //cont = cont +
                        merge (a2, min, middle, max);
      }
      //return cont;
   }

...
    public static void main(String[] args) throws IOException {
      Scanner leer = new Scanner(new File("C:\\Ruta\\InversionsTest.dat"));
      int nCases = leer.nextInt();
      
      double a[] = new double[nCases];
      for(int i=0; i<nCases; i++) {
         a= leer.nextInt();
      }
      
                cont = 0;
                valor =1;
                ordenar(a, 0, a.length-1));

      System.out.println("El número de inversiones que tiene el array dado es: " + cont
   }

Otra cosa, para hacelro más útil, es que declares otra variable a nivel de clase, donde su valor se establece a valor solicitado (1 en el caso presente), tras "cont = 0", así si luego te piden que en vez de hacer la cuenta para el valor 1, te lo reclaman para el valor 1000, te basta cambiar una sola línea de código y es fácil saber donde localizarla. Estas líneas las he marcado de color verde y en el pseudocódigo de más arriba, se utiliza comentado.


...por lo demás como no he probado ni mirado el código a fondo, ten cuidado de agotar el espacio de pila, cosa que se puede producir con funciones recursivas si no están adecuadamente acotadas...


p.d.: al final he tenido un tiempito esta noche y he recreado el algoritmo mergesort, el caso es que tomando tu lista de valores, el número de 'inversiones de 1', que me arroja es de 5.
170  Foros Generales / Foro Libre / Re: Conflicto Ucrania-Rusia,EEUU, OTAN, Europa. (Todo las noticias relacionadas irán aquí) en: 5 Mayo 2022, 02:15 am
Citar
Esto de las piedras ya lo conocia yo, pero no sabía que también estaban en Georgía, por lo que yo se, creo que hay en Argentina si no me equivoco, en un estado EEUU,
Estas piedras están en Georgia, pero no en la península de Georgia, si no en el estado de Georgia de EE.UU.
https://es.wikipedia.org/wiki/Georgia_(Estados_Unidos)




Citar
Ahora bien, el rublo, está muy fuerte ahora, más que cuando empezó la guerra
Es un valor ficticio... Es como cada vez que Maduro 'actualiza' el cambio del Bolívar...

Citar
OTAN no es más que un organismo titeré de gente poderosa, no es del pueblo.
Putín representa un pueblo, el ruso.
Vaya... según tu afirmación: OTAN malos, Putin bueno.

La OTAN, representa a todos los ciudadanos de los países que engloba, incluído tú aunque no te sientas representado.
Putin, solo se representa a si mismo, a sus militares de alto rango y a un porcentaje (no claramente conocido), de millonarios rusos.
...por cierto varios de los millonarios que no aprueban la guerra, exactamente los que lo han hecho público, ya han sido asesinados, incluyendo uno que residía en Cataluña. Admitir que por casualidad hayan muerto 6  millonarios rusos (que conozcamos hasta ahora) desde que empezó la guerra, cuando estaban completamente sanos, solo se lo creen los bobos, los mismos que se creen la 'operación espacil' contra los nazis.

Citar
Y sigo neutral, pero simpatizante de putin,
A mi antes simplemente me parecía un intento fallido de 'playboy', ahora un loco mentiroso y peligroso.

Citar
Y lo que me parece el colmo de los colmos es que un judio, Zelesky dirija nazis, contra nacionalistas rusos,
Putin sigue la estela de Hitler.
Zelensky es solo un humorista que ahora es politico, y al que el pueblo ucraniano eligió frente a su antecesor (que estaba bajo el sobaco derecho de Putin).
Obviamente te has tragado el 'brebaje' ese de la 'operación especial'... por eso ya están poniendo banderas rusas en las zonas que se van imponiendo. ...como todo el mundo entiende, tras 'aplastar' a los nazis, hay que robarles su territorio, no bastaba al parecer con 'aplastarlos'.
Ya veremos que clase de excusa se inventa si quiere tirar hacia Moldavia...
Desde los tiempos de la escuela Cínica, nadie había igualado a lo largo de la Historia su cinismo, hasta Putin.

Al putinismo, habrá que añadirle otra propiedad, en este caso el cinismo:
https://es.wikipedia.org/wiki/Putinismo

Citar
Si entra la OTAN en el conflicto, o Putin declara la guerra  a a OTAN, ya se ha liado,y con ello, el plan de la reducción mundial avanzaría.
La OTAN no va a entrar en conflicto si no hay un ataque previo por parte de Rusia.
Putin en cambio está buscando la excusa para disparar sus misiles...
Si crees que hay un plan de reducción... pues es Putin quien está matando a la gente, Ucrania vivía en paz en su país.

Citar
Sea como sea, los que vamos a perder somos la humanidad, como siempre,
Sí, como siempre.
El problema e spermitir a los políticos endiosarse... ellos creen que ser elegidos les otorga derecho a hacer lo que les dé la gana, y como los que deben velar por ponerles en su sitio y decirles 'No, tu solo puedes hacer, esto, esto y esto, pero no esto, ni aquello ni lo otro', no lo hacen al final toca a la gente del pueblo deliberar tras una guerra que el villano sea decapitado y regrese la paz... pero para entonces la cantidad de muertes es horrible y lamentablemente se sigue repitiendo una y otra vez en la Historia.

Creo que el problema es que occidente está acostumbrada a conseguir éxitos rápidos, si no lo logra, se quiebra, mientras que los rusos, van a la marcha, sin prisa,
Ja... "si están verdes..." dijo la zorra que trataba de coger las uvas maduras que no alcanzaba, como cuenta la fábula de Esopo.

Putin quería hacer una guerra relámpago, esperando que los ucranianos mayoritariamente les recibirían con los brazos abiertos al ver sus tropas marchar contra la capital. Luego cambiaron el cuento, cuando no conseguían avanzar, y volverán a cambiar el cuento una o dos veces más...

Una guerra larga, supone varias cosas:
Mayor desgaste económico, más muertes, más hartazgo y cansancio de los militares, más destrucción que a posterior costará más reconstruir.

Citar
una guerra por el nuevo orden mundial, por las malditas piedras
Te tacho lo de las piedras, si no, tengo que hacer y decir lo mismo que Eternal Idol...
Llevo unos 20 o 30 años escuchando la tontería conspiranoica del Nuevo Orden Mundial, y tanto se ha extendido que es más que probable que hasta ya algún político imperialista haya decido y contemplado ser él, quien lo haga para ser el primero antes que se le adelante otro...
Si al final sucede, cuando suceda, no creo que sea como la visión de la teoría conspiranoica, si no más en un sentido bíblico, como menciona el apocalipsis... Así que los conspiranoicos pueden empezar a calcular el número de la bestia en Putin...  :laugh: :laugh: :laugh: en China...

Citar
...probablemente, se inicie la tercera guerra mundial...
¿Deberiamos ir pensando hacer refugios nucleares??
Es probable...
...pero si hacemos caso de la predicción de Newton, el mundo no será destruído hasta el 2060, que calculó tras lecturas intensas de los libros de Daniel en la Biblia.
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 24 25 26 27 28 29 30 31 32 ... 421
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines