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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Mensajes
Páginas: 1 ... 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 [29] 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 ... 54
281  Programación / Programación C/C++ / Re: Árbol de Expresiones en C en: 29 Mayo 2018, 20:06 pm
La parte recursiva en un árbol n-ario va encaminada a la búsqueda de valores en los nodos. Tú puedes hacer un árbol y añadir nodos, algo sencillo, pero el problema es cuando requieres hacer una búsqueda en toda esa red de nodos. Existen diversos métodos para recorrerlos.

https://es.wikipedia.org/wiki/Recorrido_de_%C3%A1rboles

Ejemplo
Código
  1. #include <string>
  2. #include <vector>
  3. #include <iostream>
  4.  
  5. // nodo binario
  6. struct NODO {
  7.    std::string valor;
  8.    NODO * izquierdo;
  9.    NODO * derecho;
  10. };
  11.  
  12. // funcion recursiva
  13. int buscarValor(NODO *nodo, std::string valor)
  14. {
  15.    if (nodo != NULL) std::cout << "Valor nodo = " << nodo->valor << std::endl;
  16.  
  17.    if (nodo == NULL) {
  18.        std::cout << "Aqui ya no hay mas nodos!! " << std::endl;
  19.        return 0;
  20.    } else if (nodo->valor != valor) {
  21.        if (buscarValor(nodo->derecho, valor) == 0); // cuando llegamos al final de la rama
  22.        else return buscarValor(nodo->izquierdo, valor);
  23.    } else {
  24.        std::cout << "Encontrado!! " << std::endl;
  25.        return 1;
  26.    }
  27. }
  28.  
  29. int main(){
  30.  
  31.    NODO arbol;
  32.    NODO izquierdo, derecho;
  33.    NODO izquierdoIzquierdo, izquierdoDerecho;
  34.    NODO derechoIzquierdo, derechoDerecho;
  35.  
  36.    izquierdoIzquierdo.valor     = "El nodo mas a la izquierda";
  37.    izquierdoIzquierdo.derecho   = NULL; // Amputamos, o podamos
  38.    izquierdoIzquierdo.izquierdo = NULL;
  39.    izquierdoDerecho.valor     = "El nodo derecho del nodo de la izquierda de la raiz";
  40.    izquierdoDerecho.derecho   = NULL;
  41.    izquierdoDerecho.izquierdo = NULL;
  42.  
  43.    derechoIzquierdo.valor     = "El nodo izquierdo del nodo de la derecha de la raiz";
  44.    derechoIzquierdo.derecho   = NULL;
  45.    derechoIzquierdo.izquierdo = NULL;
  46.    derechoDerecho.valor     = "El nodo mas a la derecha";
  47.    derechoDerecho.izquierdo = NULL;
  48.    derechoDerecho.derecho   = NULL;
  49.  
  50.    izquierdo.valor     = "El nodo izquierdo";
  51.    izquierdo.izquierdo = &izquierdoIzquierdo;
  52.    izquierdo.derecho   = &izquierdoDerecho;
  53.    derecho.valor     = "nodo derecho";
  54.    derecho.izquierdo = &derechoIzquierdo;
  55.    derecho.derecho   = &derechoDerecho;
  56.  
  57.    arbol.valor     = "raiz o principal";
  58.    arbol.izquierdo = &izquierdo;
  59.    arbol.derecho   = &derecho;
  60.  
  61.    std::cout << "El nodo derecho de la raiz contiene : " << arbol.derecho->valor << std::endl;
  62.  
  63.    // busqueda recursiva
  64.    buscarValor( &arbol, "El nodo mas a la izquierda");
  65.  
  66.    system("PAUSE");
  67.    return 0;
  68. }

PD ¿Por qué cojones lo centrará?
282  Foros Generales / Foro Libre / Re: "Estad preparados para la guerra", el panfleto que está llegando a todos los hog en: 28 Mayo 2018, 14:48 pm
Vuelvo a decirlo, si fuese tan fácil derribar un misil de este tipo, no se porque no derribaron los que Corea del Norte estuvo probando durante estos años. ¿Habría sido un golpe tremendo en su moral no creen? Ni siquiera derribaron el que se "acercó" a Japón.. eso ya habla mucho de por si.
Exacto, actualmente si un pepino de esos vuela sobre tú cabeza reza lo que sepas, ten preparado tú propio refugio nuclear o huye en un submarino a bastante profundidad.

La idea de usar ondas para derribar un pepino nuclear no es tan descabellado, pero el problema es que actualmente no hay tecnología para lanzar un "láser" lo suficientemente potente que atraviese el blindaje de las ojivas nucleares, y por supuesto a cuanta mayor la distancia más potencia necesitas.

La velocidad de una onda electromagnética es ideal para cazar cualquier cosa en movimiento y las ojivas al desplegarse ya no pueden variar la trayectoria por se encuentran en caída libre por lo que si son detectadas en un margen razonable podrían ser destruidas con un potente láser o "rayo".

Muchas compañías armamentísticas están haciendo grandes esfuerzos para crear una tecnología para destruir misiles en el aire. Pero el láser que usan no es lo suficientemente potente para abarcar un radio razonable y además tampoco para destruir el misil inmediatamente, requiere de un tiempo.

Ejemplo :



283  Foros Generales / Foro Libre / Re: "Estad preparados para la guerra", el panfleto que está llegando a todos los hog en: 28 Mayo 2018, 10:22 am
No entiendo que os asombra, hoy en día cualquier país tiene tecnología y conocimientos para enviar una piedra al espacio. Si envías cualquier cosa al espacio puedes hacer que caiga en cualquier punto del planeta sin preocuparse por el combustible, ya que una vez que está en órbita luego sólo tiene que maniobrar para que caiga en un determinado punto o simplemente realizar un tiro parabólico con suma precisión y luego usar un sistema para corregir la trayectoria.

Lo de los rusos lo veo, sinceramente, una gran pérdida de tiempo y de dinero. Deberían invertir el dinero en la carrera espacial para fines comerciales.
284  Foros Generales / Dudas Generales / Re: como puedo adivinar apuestas deportivas en: 28 Mayo 2018, 10:12 am
No existe un patrón o modelo matemático para predecir un resultado pero existen las estadísticas. El caso es que las estadísticas y el método científico tampoco sirven o funcionan en un sistema cerrado u opaco, y ello conlleva a que sea muy probable que los resultados se amañen... por lo que es una pérdida de tiempo invertir el dinero en apuestas deportivas, loterías o cualquier juego de azar donde no puedas tener acceso a los elementos que intervienen en el resultado, mejor trabaja.

285  Foros Generales / Noticias / Re: El grafeno podría ser utilizado para acelerar la transmisión de datos ópticos en: 26 Mayo 2018, 11:53 am
De seguro ya la industria militar esta buscando las mejores formas de utilizar ese producto...  o estará bien llamarlo "elemento"???... porque un compuesto no es, o si???
Exacto, no es un compuesto porque no participan otros materiales o elementos, pero podría decirse que es un material.

... tal vez sea un isotopo...
Es un alótropo.

A ver si entendéis la complejidad. No es que sea difícil, es que el grafeno es una lámina de carbono, una capa con la altura de un átomo. No es un problema de que esos recursos sean caros de obtener, tal como cita NEBIRE podría servir hasta la punta de un lápiz, el problema es obtener una lámina entera de dimensiones X por Y del grosor de un átomo. Todavía no hay técnica para producirlo en masa de forma industrial, sólo es posible en laboratorios y con mucha paciencia.

Esto (la imagen de abajo) por ejemplo sería una representación de la estructura molecular del grafeno, compuesto (de que está hecho) como cita Engel Lex, por átomos de carbono.


si, el grafeno es un compuesto como ya dijo NERIBE, basicamente es "una capa de grafito"
De grafito no es, porque el grafito es por así decirlo microscópicas escamas de grafeno, no existe una lámina extensa de átomos de carbono enlazados unos a otros, sólo escamas de tamaño molecular, como una baraja desperdigada en la mesa (algunas cartas encimas de otra).
286  Foros Generales / Dudas Generales / Re: Como Alternar el Funcionamiento de una Tecla (Ayuda) en: 26 Mayo 2018, 11:38 am
De verdad nadie de este foro tiene la solución ? ... me hace mucha falta *-*
Si, que te lo cocines tú mismo, porque el foro sólo puede orientarte y se te ha recomendado algunos programillas. El problema es que programas de mapeo los hay pero que funcionen de esa forma tan extraña creo que no.

Si fueras programador te ofrecería soporte para hacerlo, pero por lo que se ve sólo tienes nivel de usuario. Quizás por 50 euros alguien podría hacértelo (solución a medida), no parece algo complicado pero toma tiempo programarlo.

Suerte con la búsqueda,
saludos.
287  Informática / Software / Re: Quieres ver anime? en: 25 Mayo 2018, 23:15 pm
Otra invitación premium, válido hasta el 28 de Julio y con una duración de 48 horas.

http://www.crunchyroll.com/guest_pass?code=NJFSDWLCX6V

 ;)

PD LA verdad es que no hay mucho anime que valga la pena. Para mi gusto, así uno interesante es uno de Mechas, el Full Metal Panic! Invisible Victory.

http://www.crunchyroll.com/full-metal-panic-invisible-victory
288  Foros Generales / Noticias / Re: ¿Supondrá la inteligencia artificial el fin de las aplicaciones? en: 25 Mayo 2018, 18:20 pm
Yo es que todavía no he conocido una inteligencia artificial :xD y estoy de acuerdo en gran parte de lo que comenta NEBIRE. Es más pondré un ejemplo; actualmente un humano puede ser derrotado en un juego tan complejo como el ajedrez, incluso si se trata del campeón del mundo, pero no es que sea un ordenador super inteligente, sino es una máquina que procesa en paralelo diferentes jugadas hasta llegar a una conclusión, mediante algoritmos normalitos de estadística, que de las tropecientos millones de combinaciones posibles una le puede dar una victoria en un 60% o más. Es como esa escena del doctor Stranger que empieza a convulsionar mientras rebusca en otras dimensiones paralelas una acción o decisión que determine la victoria del combate... A eso, pues se le suma el método machine learning, que lo único que hace es guardar o añadir las jugadas de una partida finalizada que le servirá para consultar otras jugadas similares para otra futura partida (se dice que la experiencia te hace más sabio). Ahora todo lo que he explicado llámalo Inteligencia Artificial y vende un producto con ese sistema asegurando que es inteligente.

Realmente la inteligencia artificial no existe (aún) porque todavía no sabemos ni como funciona la nuestra. Desentrañar el funcionamiento de nuestro cerebro, comprender como es el circuito de neuronas que hace posible que tengamos conciencia, que seamos inteligentes (algunas personas) y todo lo que nos hace excepcionales a la hora de pensar y que nos diferencia del resto de animales pues... sigue siendo un reto y todavía están con ello... lo demás, insisto, es simplemente marketing, nombres bonitos que venden.

https://mailchi.mp/5a53a427014e/hbp-newsletter-april-289641

https://www.technologyreview.com/s/531291/obamas-brain-project-backs-neurotechnology/
289  Programación / Desarrollo Web / Re: Problema con codigo de JS en: 22 Mayo 2018, 11:34 am
Primero, usa la etiqueta correspondiente para publicar código.

Segundo, aprende a depurar. Comprueba el contenido de las variables por medio de funciones de salida como console.log o usando un alert.

Tercero, en JS para comparar se usa el operador == o === .
290  Programación / Programación C/C++ / Re: Invertir una palabra, ERROR en: 22 Mayo 2018, 11:26 am
En C/C++ normalmente el espacio que reservas, por ejemplo esos 20 caracteres, no son limpiados, es un espacio que se encuentra sucio. En lenguajes de bajo nivel es común esto y es el programador quien tiene que hacerse cargo de la completa gestión del espacio reservado.

En resumen, si está sucio, al reservar el espacio o volver a sobreescribirlo, límpialo con un bucle o alguna función, etc y lo rellenas de espacios. También otra práctica es marcar el final de la cadena con un valor cero. Por ejemplo :

Código:
...
for(k=0;k<=tam-1;k++)//INVERTIR LA PALABRA
{
    inv[k]=pal[tam-1-k];
}
inv[k+1]=0; // final de la cadena, de esa forma el printf lo lee hasta el cero (en teoría XD)
printf("Palabra invertida:%s",inv);
...

PD Por cierto acostúmbrate a usar la etiqueta correspondiente para publicar código.
Páginas: 1 ... 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 [29] 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 ... 54
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines