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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Mensajes
Páginas: 1 [2]
11  Programación / Programación C/C++ / Re: Problema con llamadas entre funciones. en: 19 Diciembre 2018, 11:31 am
El problema es que debo resolver el ejercicio sin tocar esa función (esPrimo), por eso no logro hacerlo funcionar  :-(
12  Programación / Programación C/C++ / Problema con llamadas entre funciones. en: 18 Diciembre 2018, 22:37 pm
Hola, tengo que resolver un ejercicio en C, que consiste en escribir una función con el siguiente prototipo: int primoMayor(int num). La función recibe un número en la variable num y ha de devolver el mayor de los primos comprendido entre 2 y el valor de num. Esta función ha de valerse para esto de llamadas a la función esPrimo().

El programa principal debe solicitar un número mayor o igual a 2, que llame a la función primoMayor() y muestre el valor que devuelva por pantalla.

Este sería un ejemplo del programa:

Introduce un número superior a 1: 7
El mayor primo comprendido entre 2 y 7 es 7.

Esto es lo que llevo por el momento, no tengo claro como hacer el bucle que determine que número de todos los primos es el mayor, a ver si podéis ayudarme, gracias.

Código:
#include <stdio.h>
#include <math.h>

int esPrimo(int num) {
    int i;
    for (i=2; i<=sqrt(num); i++) {
        if (num%i == 0) {
            return 0;
        }
    }
    return 1;
}

int primoMayor(int num){
    int n, mayor;
    mayor=0;
    for (n=2;n<=num;n++)
    {
        if (esPrimo(n)>mayor)
            mayor=esPrimo(n);
    }

}

int main() {
    int num, n, i, mayor;

    do {
    printf("Introduce un número superior a 1: ");
    scanf("%d", &num);
    } while (num<0);

    primoMayor(num);

    if (primoMayor(num)){
        for(n=2;n<=num;n++){
            if (esPrimo(n))
                mayor=primoMayor(num);
        }
    }
    else
    printf("El número %d no es primo.\n", num);
    return 0;

    printf("El mayor primo comprendido entre 2 y %d es %d", num, mayor);
    return 0;
}
13  Programación / Programación C/C++ / Obtener nombres de un archivo de texto y comparar sus iniciales en: 13 Diciembre 2018, 09:12 am
Ya resolví el problema  :xD

Este es el código:
Código:
#include <stdio.h>

int main(){

    FILE *archivo = NULL;
    char fichero[80];
    char nombre[15];
    char inicial[5];
    int i, dato1, dato2;

    printf ("Teclea el nombre del archivo: ");
    scanf ("%s", fichero);
    archivo = fopen (fichero, "r");
    if (!archivo){
        printf ("Error: no se pudo abrir el fichero: %s\n", fichero);
        return 1;
    }
    printf("Teclea una inicial: ");
    scanf("%s", inicial);


    for (i=0; fscanf(archivo, "%s %d %d", nombre, &dato1, &dato2) == 3;){
        printf("%s %d %d\n", nombre, dato1, dato2);
        if (nombre[0]==inicial[0]){
            i++;
        }
    }
    printf("Hay %d nombres que empiezan por la inicial %c \n", i, inicial[0]);
    fclose (archivo);

    return 0;
}
14  Programación / Ingeniería Inversa / Re: Sabéis que es esto? SkD Undetectabler 2.0(BETA) en: 14 Diciembre 2009, 21:59 pm
Hola MCKSys, gracias por tú sugerencia, efectivamente era eso y ya lo he podido solucionar.

PD: Si no te importa te añado a los agradecimientos en el tuto que he hecho.

Saludos
15  Programación / Ingeniería Inversa / Re: Sabéis que es esto? SkD Undetectabler 2.0(BETA) en: 13 Diciembre 2009, 15:08 pm
Gracias MCKSys voy a probarlo y os cuento...

Un saludo
16  Programación / Ingeniería Inversa / Re: Sabéis que es esto? SkD Undetectabler 2.0(BETA) en: 12 Diciembre 2009, 20:01 pm
Hola karmany, lo único que te puedo asegurar es que si lo parcheo cargado en Ollydbg el programa no se cierra, pero en cuanto lo modificas y guardas los cambios ya no funciona bien, por eso deduzco que tiene alguna especie de chequeo, ya sea de crc o cualquier otro.

Que me sugieres? Esta hecho en Delphi y es el último escollo que me queda, ya que lo tengo bien en teoría bien parcheado.

Un saludo
17  Programación / Ingeniería Inversa / Sabéis que es esto? SkD Undetectabler 2.0(BETA) - SOLUCIONADO en: 12 Diciembre 2009, 16:16 pm
Hola, he pasado un ejecutable por el RDG packer detector y me sale esto, SkD Undetecttabler 2.0 (BETA) y no tengo ni idea de que es, de hecho es la primera vez que lo veo en un ejecutable.

La cuestión es que tengo un programa parcheado, pero que cuando realizas algunas operaciones con él, el programa transcurridos unos segundos se cierra sin devolver ningún mensaje de error.
También lo he pasado por el PEiD pero no detecta lo mismo, al menos no se si lo que detecta tiene relación con eso, el PEid me detecta esto...

ADLER32 :: 000A6A4F :: 004A764F
   The reference is above.
BASE64 table :: 000A9A64 :: 004AA664
   Referenced at 004AA480
   Referenced at 004AA4C1
   Referenced at 004AA503
   Referenced at 004AA535
List of small primes [long] :: 000E4D44 :: 004E5944
   Referenced at 004DA9EE
ZLIB deflate [long] :: 000E43C0 :: 004E4FC0
   Referenced at 004A70E0
   Referenced at 004A7300

Mi pregunta es, sabéis donde puede estar el problema? porque el programa esta bien parcheado y funciona bien salvo que se cierra de repente después de un rato.

Gracias y saludos.
Páginas: 1 [2]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines