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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


  Mostrar Temas
Páginas: 1 [2] 3 4 5
11  Programación / Programación C/C++ / Factor primo más grande de un número muy largo en: 4 Julio 2012, 01:24 am
Hola.

Para entretenerme, estoy haciendo problemas en C de una página de Internet que son como retos.  

Uno de ellos dice así:

Citar
The prime factors of 13195 are 5, 7, 13 and 29.

What is the largest prime factor of the number 600851475143 ?

Sería algo como: "Los factores primos de 13195 son 5, 7, 13 y 29. ¿Cuál es el factor primo más grande de 600851475143 ?"

He intentado esto:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6.    long long int i, resultado;
  7.    long long int MAX = 600851475143;
  8.    int num;
  9.  
  10.    for( i = 2; i < MAX; i++)
  11.    {
  12.       if(MAX % i == 0)
  13.       {
  14.           MAX /= i;
  15.           i = 2;
  16.        }
  17.    }
  18.  
  19.    printf("El maximo factor primo de 600851475143 es %d\n\n", MAX );
  20.  
  21.    system("pause");
  22.    return 0;
  23. }
  24.  
  25.  

Pero no me da el resultado correcto  :-\

He hecho varios intentos, pero nada...

Saludos.
12  Media / Juegos y Consolas / ¿Gente con 3DS en el foro? en: 2 Julio 2012, 21:40 pm
Hola.

¿Hay alguien que tenga la 3DS en este foro? Es que no veo muchos comentarios de ella por aquí...

De ser así, ¿tenéis Mario Kart 7, Kid Icarus: Uprising u otro juego para jugar con vosotros partidas online?

Saludos!  :D
13  Programación / Programación C/C++ / Ahorcado con ficheros en: 2 Julio 2012, 18:14 pm
Hola.

Estoy haciendo el juego del ahorcado.

He creado un fichero "prueba.dat", en el que meto palabras separadas por un espacio. Quiero obtener una palabra aleatoria de entre las que tengo.

Todavía no tengo la parte de obtener la palabra aleatoria, pero eso creo que sé hacerlo. El problema es que quiero meter las palabras antes en una matriz.

El programa compila, pero en un momento determinado (que tengo señalado en el programa) deja de funcionar y dice "Ahorcado.exe dejó de funcionar. Windows está buscando la solución al problema"...


Código
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3.  
  4. int NumeroEspaciosBlancos(FILE *fp);
  5. void CogerPalabras(FILE *fp, int num);
  6.  
  7. int main(){
  8.  
  9. FILE *fp;
  10. int num;
  11.  
  12. fp=fopen("prueba.dat", "r");
  13.  
  14.    num=NumeroEspaciosBlancos(fp);
  15.  
  16.    CogerPalabras(fp,num);
  17.  
  18.    fclose(fp);
  19.  
  20. system("pause");
  21.  
  22. }
  23.  
  24. int NumeroEspaciosBlancos(FILE *fp){
  25.  
  26.  char c;
  27.  int i=0 ;
  28.  
  29.  while(feof(fp)==0){
  30.  
  31.  c=fgetc(fp);
  32.  
  33.  if(c==' ') i++;
  34.  
  35.  }
  36.    rewind(fp);
  37.    return i;
  38.  
  39. }
  40.  
  41. void CogerPalabras(FILE *fp, int num){ //num es el número de espacios que tiene el fichero
  42.  
  43.     char **M;
  44.     char c;
  45.     int i=0,j=0;
  46.  
  47.     M=(char**)malloc((num+1)*sizeof(char*));
  48.  
  49.     for(j=0;j<num+1;j++){
  50.  
  51.  
  52.       M[j]=(char*)malloc(20*sizeof(char));
  53.  
  54.       j++;
  55.  
  56.  
  57.     }
  58.  
  59.  
  60.     i=0;
  61.     j=0;
  62.  
  63.     while((feof(fp)==0) && (c=fgetc(fp))){  //EN ESTE BUCLE DEJA DE FUNCIONAR EL PROGRAMA
  64.  
  65.     if(c!=' '){
  66.     M[i][j]=c;
  67.     j++;
  68.  
  69.  
  70.     }
  71.  
  72.     if(c==' '){
  73.     i++;
  74.     j=0;
  75.     }
  76.  
  77.     }
  78.  
  79.     rewind(fp);
  80.     i=0;
  81.     j=0;
  82.  
  83.     for(i=0;i<num;i++){
  84.  
  85.          printf("\n");
  86.     for(j=0;j<20;j++){
  87.     printf("%c", M[i][j]);
  88.     }
  89.  
  90.     }
  91. }
  92.  

Gracias.

Saludos.
14  Programación / Programación C/C++ / ¿Cómo instalar bibliotecas en codeblocks? en: 14 Junio 2012, 22:50 pm
Hola.

Me gustaría poder instalar nuevas bibliotecas (/librerías) en Codeblocks para poder hacer mejores programas, pero por más que busco en Internet no encuentro nada...

¿Alguien podría decirme cómo se pueden instalar en Codeblocks?

Saludos y muchas gracias.
15  Programación / Programación C/C++ / ¿Qué hacer ahora que "sé" C? en: 10 Junio 2012, 13:30 pm
Hola.

Pronto hará un año que empecé a "programar" en C.

Por ahora he aprendido lo que viene en los libros y manuales de C, pero me estoy dando cuenta que solo sé crear aplicaciones por consola "no útiles" (solo tienen la finalidad de aprender a programar, supongo).

¿Qué debo empezar a aprender para hacer cosas "útiles" en C?

Gracias!

Saludos.
16  Programación / Programación C/C++ / Duda con función recursiva en: 7 Junio 2012, 15:29 pm
Hola.

Tengo un ejercicio que dice:

Implemente una función recursiva (y todo lo necesario para que el programa funcione) que calcule, dado un vector de enteros y un umbral, la suma de todos los elementos del vector que son mayores que el umbral. La cabecera de la función recursiva debe ser la siguiente:

void SumaUmbral(int *v, int tam, int umbral, int *suma);

El vector debe ser creado con memoria dinámica y pedido al usuario por la consola. La variable suma se pasa por referencia. La variable tam contiene el tamaño del vector.


El problema que tengo es que yo siempre he pensado que las funciones recursivas deben devolver algo... ¿Cómo va a ser void?

Saludos, y muchas gracias.
17  Programación / Programación C/C++ / Cuadrado Latino de orden n en: 22 Mayo 2012, 15:59 pm
EDITO: Ya lo he solucionado.
18  Programación / Programación C/C++ / Pequeño error en ficheros en: 9 Mayo 2012, 17:26 pm
Hola.

Estoy intentando leer las n últimas líneas de un fichero, para, posteriormente, almacenarlas en otro.

Por ejemplo, si mi fichero tiene:

Código:
hola
adiós
duda
ficheros
punteros
estructuras

y meto el número 3 por consola, después de introducir el nombre del fichero, me debería leer:

Citar
ficheros
punteros
estructuras

Y, sin embargo, me lee:

Código:
os
punteros
estructuras

Mi código es:

Código
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3.  
  4. typedef struct{
  5.  
  6. int *V;
  7. int lineas;
  8.  
  9. }Estructura;
  10.  
  11. char* InicializarCadena();
  12. Estructura Contar(FILE *fp);
  13. void Almacenar(FILE *fp1,FILE *fp2,Estructura aux,int n);
  14.  
  15. int main (){
  16.  
  17. FILE *fp1;
  18. FILE *fp2;
  19.  
  20. int n;
  21.  
  22. char *fich,c;
  23.  
  24. Estructura aux;
  25.  
  26. printf("Introduzca el nombre del fichero: ");
  27.  
  28. fich=InicializarCadena();
  29.  
  30.  
  31. printf("Introduce un numero: ");
  32. scanf("%d", &n);
  33.  
  34.    fp1=fopen(fich, "r");
  35.    fp2=fopen("Trabajo.txt", "w");
  36.  
  37.  
  38.    if(fp1==NULL){
  39.    printf("ERROR");
  40.    system("pause");
  41.    exit(1);
  42.    }
  43.  
  44.    aux=Contar(fp1);
  45.  
  46.  
  47.    Almacenar(fp1,fp2,aux,n);
  48.  
  49. free(aux.V);
  50. free(fich);
  51. fclose(fp1);
  52. fclose(fp2);
  53.  
  54. system("pause");
  55. }
  56.  
  57.  
  58. char* InicializarCadena(){
  59.   int i = 0;
  60.   char c, *cad;
  61.  
  62.   cad = (char*) malloc(sizeof(char));
  63.  
  64.   while((c = getchar())!= '\n'){
  65.      cad[i] = c;
  66.      i++;
  67.      cad = (char*)realloc(cad, (i + 1)*sizeof(char));
  68.   }
  69.   cad[i] = '\0';
  70.  
  71.   return cad;
  72. }
  73.  
  74. Estructura Contar(FILE *fp){
  75.  
  76. int i=0;
  77.  
  78. Estructura aux;
  79.  
  80. char c;
  81.  
  82. aux.lineas=0;
  83.  
  84. aux.V=(int*) malloc(sizeof(int));
  85.  
  86. while(feof(fp)==0){
  87.  
  88. c=fgetc(fp);
  89. i++;
  90.  
  91. if(c=='\n'){
  92. aux.V=(int*) realloc(aux.V,(aux.lineas+1)*sizeof(int));
  93. aux.V[aux.lineas]=i;
  94.  
  95. aux.lineas++;
  96. }
  97. }
  98. aux.lineas++;
  99. return(aux);
  100. }
  101.  
  102. void Almacenar(FILE *fp1,FILE *fp2,Estructura aux,int n){
  103.  
  104. char c;
  105.  
  106. fseek(fp1,aux.V[aux.lineas-n],SEEK_SET);
  107.  
  108.  
  109.  
  110. while(feof(fp1)==0){
  111.  
  112. c = fgetc(fp1);
  113. fputc(c,fp2);
  114. printf("%c", c);
  115.  
  116. }
  117.  
  118. }
  119.  

¿Qué hago mal?

Muchas gracias.

Saludos.
19  Programación / Programación C/C++ / ¿Cómo crear un videojuego en C? en: 29 Abril 2012, 14:01 pm
Hola.

Me gustaría aprender a crear videojuegos en C.

Por más que busco en Internet, sólo me sale cómo crear juegos en C++...

¿Podríais recomendarme algún pdf o alguna página online que explique bien cómo hacer videojuegos en C? (A ser posible en español).

Muchas gracias.

Saludos.
20  Programación / Programación C/C++ / Calcular potencia con una función recursiva en: 8 Abril 2012, 01:35 am
Hola.

He estado intentando calcular potencias mediante una función recursiva. Este ha sido mi resultado (es erróneo, pero no sé por qué).

Código
  1. 7
  2. int potencia(int x, int n)
  3. {
  4.    if(n == 0) return 1;
  5.  
  6.    else if (n % 2 == 0) return potencia(x*x, n/2);
  7.  
  8.    else return x * potencia(x, n-1);
  9. }

Para llegar a plantearlo, he tomado en cuenta que:

- x^n = (x * x) ^ n/2 (siendo n > 0 y un número par)

- x^n = x * x^(n-1)

Muchas gracias.

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