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 Temas
Páginas: 1 [2] 3 4 5 6 7 8 9 10 11 12
11  Programación / Desarrollo Web / Forma correcta de empezar un documento .html en: 23 Noviembre 2013, 14:56 pm
Buenas, he estado viendo tutoriales de php, y en todos los tutotriales que vi, los documentos .html empezaban de maneras parecidas a esta:

Código
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4.  
  5. <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />

Y queria saber que funcion tiene esto que llevan los archivos al principio y si es obligatorio copiarlo en toods los archivos .html
Saludos
12  Programación / Desarrollo Web / Consejos para empezar en: 10 Noviembre 2013, 12:13 pm
Buenas, pues me he decidido a aprender sobre programación web, PHP, bases de datos, servidores web, etc. Y se me había ocurrido una idea, tengo a mi disposición dos Pc's de sobremesa en la misma red LAN, los dos con W7 y había pensado que podía montar en uno un servidor web y programarlo y configurarlo según lo que vaya aprendiendo, y utilizar el otro Pc para comprobar la seguridad, el funcionamiento, etc. No se si esto es posible o estoy diciendo barbaridades, quería consultaros a vosotros si esta sería una buena forma de empezar. Tambien se me ocurrió la opción de montar una máquina virtual en uno de los pcs y montar el servidor sobre Linux, ya que según lo que he leído, es mucho mejor en todos los sentidos para esto.

Saludos
13  Programación / Programación C/C++ / Ofuscación en: 9 Noviembre 2013, 22:22 pm
Buenas, he estado leyendo sobre ofuscación del código y lo único que he leído es lo que viene en la wikipedia, que supongo que será lo más básico sobre esto, según la wikipedia:
Código
  1. int int_;

Estaríamos definiendo una variable entera, hasta ahí bien.

Código
  1. _int-_int;

Esto sería = 0

Código
  1. (_int-_int)!;
Y esto sería = 1, y aqui llega lo que no entiendo, por qué el resultado de la siguiente línea es 10:
Código
  1. (((!(int_-int_)<<!(int_-int_))<<(!(int_-int_)<<!(int_-int_)))|(!(int_-int_)<<!(int_-int_)));

Saludos.
14  Informática / Hardware / Consejo para comprar portatil en: 28 Septiembre 2013, 17:18 pm
Buenas, recurro a vosotros porque un amigo me pidio que le diera consejo que anda buscando un portatil nuevo y yo os comento a vosotros. El presupuesto que tiene es de alrededos de 600€, euro arriba euro abajo, va a ser principalmente para uso personal, modificar documentos tipo word, power point, etc, para trabajos de clase, y a lo mejor algun que otro juego y para ver peliculas, nada fuera de normal para lo que se necesite un ordenador de alto rendimiento.

Saludos y gracias
15  Programación / Programación C/C++ / Programa para averiguar el dia de la semana en: 18 Julio 2013, 15:40 pm
Buenas, en un libro que estoy leyendo viene un programa, que a partir de una fecha base (Lunes, Enero 1, 1900) averigua el dia de la semana introduciendo dia mes y año. El programa entero es el siguiente:

Código
  1. #include <stdio.h>
  2.  
  3. void leerentrada(int *pm, int *pd, int *pa);
  4. int convertir(int mm, int dd, int aa);
  5.  
  6. int main()
  7. {
  8.    int mm, dd, aa;
  9.    int dia_semana;
  10.  
  11.    static char *diasemana[] = {    "Domingo",
  12.                                    "Lunes",
  13.                                    "Martes",
  14.                                    "Miércoles",
  15.                                    "Jueves",
  16.                                    "viernes",
  17.                                    "Sabado"    };
  18.  
  19.    static char *mes[] = {  "Enero",
  20.                            "Febrero",
  21.                            "Marzo",
  22.                            "Abril",
  23.                            "Mayo",
  24.                            "Junio",
  25.                            "Julio",
  26.                            "Agosto",
  27.                            "Septiembre",
  28.                            "Octubre",
  29.                            "Noviembre",
  30.                            "Diciembre" };
  31.  
  32.    printf("Rutina de conversión de fecha\n Para parar, introducir 0 0 0");
  33.  
  34.    leerentrada(&mm, &dd, &aa);
  35.  
  36.    while (mm > 0)
  37.    {
  38.        dia_semana = convertir (mm, dd, aa);
  39.        printf("\n%s, %s %d, %d", diasemana[dia_semana], mes[mm-1], dd, aa);
  40.        leerentrada(&mm, &dd, &aa);
  41.    }
  42.    return 0;
  43. }
  44.  
  45. void leerentrada(int *pm, int *pd, int *pa)
  46. {
  47.    printf("\n\nIntroducir mm dd aaaa: ");
  48.    scanf("%d %d %d", pm, pd, pa);
  49. }
  50.  
  51. int convertir (int mm, int dd, int aa)
  52. {
  53.    long int ndias;     // numero de dias desde el comienzo de 1900
  54.    long int nciclos;   //numero de ciclos de 4 años despues de 1900
  55.    int nanios;         //numero de años despues del ultimo ciclo de 4 años
  56.    int dia;            //dia de la semana (0, 1, 2, 3, 4, 5 o 6)
  57.  
  58.    aa -= 1900;
  59.  
  60.    ndias= (long) (30.42 * (mm - 1) + dd); //dia aproximado del año
  61.  
  62.    if (mm == 2) ++ndias;   //ajuste para febrero
  63.    if ((mm > 2) && (mm < 8)) --ndias;  //ajuste para marzo-julio
  64.    if ((aa % 4 == 0) && (mm > 2)) ++ndias; //ajuste para el año bisiesto
  65.  
  66.    nciclos = aa / 4;   //ciclos de 4 años a partir de 1900
  67.  
  68.    ndias += nciclos * 1461;    //añadir dias por ciclos de 4 años
  69.  
  70.    nanios = aa % 4;        //años despues del ultimo ciclo de 4 años
  71.  
  72.    if (nanios > 0) ndias += 365 * nanios + 1; //añadir dias por años despues del ultimo ciclo
  73.  
  74.    if (ndias > 59) --ndias; //ajustar para 1990 (NO años bisiesto)
  75.  
  76.    dia = ndias % 7;
  77.  
  78.    return (dia);
  79. }

el codigo esta copiado exactamente igual que en libro, con los comentarios para explicarlo.

Me ha costado, pero he entendido, en parte, la logica del programa, porque lo que no entiendo es como hace la funcion convertir para sacar el dia de la semana, de esa funcion la unica linea que entiendo es esta:

Código
  1. aa -= 1900;

Lo que hace es sacar los años que han pasado desde el año 1900 hasta hoy, pero a partir de ahi no entiendo nada de nada y queria pedir a ver si alguien me lo explica de alguna manera mas clara que en libro.
16  Programación / Programación C/C++ / [Solucionado] Duda con paso de un array a una función. en: 17 Julio 2013, 17:33 pm
Buenas, he estado leyendo sobre arrays y punteros en C y he leido no es obligatorio pasar todo el array a una funcion sino que se puede pasar solo una parte, por ejemplo:

Código
  1. #include <stdio.h>
  2.  
  3. void procesar(float z[]);
  4.  
  5. int main()
  6. {
  7.    float z[100];
  8.  
  9.    /*...codigo...*/
  10.  
  11.    procesar(&z[50]);
  12.  
  13.    /*...codigo...*/
  14.    return 0;
  15. }
  16.  
  17. void procesar(float *f)
  18. {
  19.    /*...codigo..*/
  20.    return 0;
  21. }

En este ejemplo, z es un array de 100 elementos pero en la funcionar procesar() solo se utilizaran a partir del elemento numero 50 en adelante, y la duda que me surge es, si yo solo quiero utilizar los 50 primeros elementos, es decir, desde el elemento z[0] hasta el elemento z[49], como lo indicaría en la llamada a la función.

la unica manera que se me ha ocurrido seria asi:

Código
  1. procesar(&z[100-51])
Saludos
17  Programación / Programación C/C++ / Problema con casting en: 18 Junio 2013, 22:01 pm
Llevo un rato ya rompiéndome la cabeza con este programa y se que es una tontería, pero no veo el problema, es un simple programa para ver si un número es par o no y es el siguiente:
Código
  1. #include <stdio.h>
  2. int main() {
  3.     float num;
  4.     printf("Introduzca el numero:\n");
  5.     scanf("%lf", &num);
  6.     if ((num / 2) == ((int)(num/2)))
  7.        printf("Es par\n");
  8.     else if ((num / 2) != ((int)(num/2)))
  9.        printf ("Es impar\n");
  10.     getchar();
  11.  
  12.     return 0;
  13. }
  14.  

El primero fallo que tuve fue con el casting de int porque no le ponía paréntesis y me daba fallo al compilar pero ya lo solucioné, el problema que tengo es que me da que todos los números son pares, se que hay otras formas de hacerlos como con el operador % y alguna mas, pero lo que quiero es la solución a mi problema, porque no la encuentro.

Saludos.

EDITO: Cambie el tipo de variable float por double y funciona, pero no entiendo el por qué.

EDITO2: Si dejo el float y cambio el "%lf" en el scanf por "%f" funciona igual.
18  Sistemas Operativos / Windows / Problema con programas al inicio en: 16 Junio 2013, 19:39 pm
Buenas, os comento, tengo un problema con los programas que se abren al inicio de windows, yo abro una ventana de Ejecutar y ejecuto msconfig y en la pestaña de Inicio de Windows elijo los programas para iniciarse cuando se inicia Windows, el problema que tengo es que deselecciono algunos programas como el Ares, Itunes y Spotify para que no se inicien pero cuando yo apago y enciendo el PC esos aparece creada otra "entrada" por llamarlo de alguna manera y esta seleccionada para que esos programas se inicien y algunas de ellas están repetidas porque ya me ha pasado varias veces.

Saludos.
19  Programación / Programación C/C++ / Función para calcular los números de Fibonacci en: 18 Mayo 2013, 13:07 pm
Buenas, en un libro que estoy leyendo estoy con el tema de variables automáticas, estáticas, etc y de ejemplo me ponen un programa para calcular los números de Fibonacci que utiliza la siguiente función:

Código
  1. long int fibonacci (int cont)
  2. {
  3.    static long int f1 = 1, f2 = 2;
  4.    long int f;
  5.    f = (cont < 3) ? 1 : f1 + f2;
  6.    f2 = f1;
  7.    f1 = f;
  8.    return(f):
  9.  
  10. }

No entiendo el uso de las variables, vaya cacao tengo hecho, porque al principio f1 y a f2 se le asignan los valores 1 y 2 respectivamente pero después se les vuelve a asignar los números anteriores al número actual de la sucesión ( no se si me estoy explicando bien), eso en la primera llamada a la función, pero por lo que entendí leyendo, supuestamente cuando se vuelve a llamar a la función las variables f1 y f2 volverían a tomar los valores 1 y 2, eso entendí yo, por eso no entiendo como funcionan aquí las variables, perdonad si no me explico muy bien, pero no se explicarme con el cacao que tengo en mente.
Para no armaros un lío, cont es una variable fuera de la función que cuenta las pasadas por un bucle while y saber cuantos números hay que mostrar de la sucesión.

Saludos
20  Informática / Software / MalwareBytes y SuperantiSpyware en: 16 Mayo 2013, 20:25 pm
Os comento, en mi PC tengo instalado un antivirus y el Malwarebytes, estos son los únicos programas que tengo instalados para la detección de malware, después tambien tengo el CCleaner, pero eso es aparte. Quería saber si es aconsejable que para reforzar este software puedo instalar el SuperantiSpyware o podría tener problemas al tener ya instalado el Malwarebytes.

Saludos.
Páginas: 1 [2] 3 4 5 6 7 8 9 10 11 12
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines