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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  EJERCICIO programacion en C. FICHEROS
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: EJERCICIO programacion en C. FICHEROS  (Leído 2,494 veces)
Pinkfloyero

Desconectado Desconectado

Mensajes: 2


Ver Perfil
EJERCICIO programacion en C. FICHEROS
« en: 27 Enero 2018, 20:40 pm »

Muy Buenas, tengo una duda que esperaba que me pudierais resolver. Solo tengo hecha una parte, me llega a compilar pero no hace lo que se espera del programa.

El ejercicio en cuestion es el siguiente:

/*Crear un programa que lea un fichero llamado
datos.txt que tendra unos numeros (uno por linea)
y muestre por pantalla cual de ellos es primo*/

//ESTA ES LA PARTE QUE TENGO HECHA//

#include <stdio.h>

FILE *fichero;
int numero;

int main (void){
   fichero = fopen("datos.txt", "r");
   if (fichero == NULL)
      printf("ERROR DE APERTURA\n");
   else
      while(!feof(fichero)){
             fscanf(fichero, "%d", &numero);
             if((numero % numero == 0) && (numero % 1 == 0))
             printf("%d\n", numero);
      }
fclose(fichero);
}




« Última modificación: 27 Enero 2018, 20:54 pm por Pinkfloyero » En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: EJERCICIO programacion en C. FICHEROS
« Respuesta #1 en: 27 Enero 2018, 23:05 pm »

No entiendo qué pretendes con esa condición del if.


En línea

Pinkfloyero

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: EJERCICIO programacion en C. FICHEROS
« Respuesta #2 en: 27 Enero 2018, 23:46 pm »

Intentaba recrear la condicion de que si el numero fuera primo, se imprimiera por pantalla, pero viendolo por segunda vez y detenidamente no tiene sentido  :-[
En línea

dijsktra

Desconectado Desconectado

Mensajes: 110


Mr Edsger Dijsktra (Tribute to)


Ver Perfil
Re: EJERCICIO programacion en C. FICHEROS
« Respuesta #3 en: 2 Febrero 2018, 13:21 pm »

A ver, no es un problema de C, es de aritmetica.
La condición que impones la cumplen todos, no solo los primos. (Todos los numeros son divisibles por 1 y por si mismos).
El matiz es: Solo  los numeros primos  tienen unicamente como divisores a 1 y a si mismos...

Repasa el libro de mates. Hay muchas maneras de computar si un numero es primo: Yo pongo una de las más sencillas:
"Si un número mayor que 1 no tiene divisores otros que el 1 antes hasta la mitad, entonces es primo. En otro caso, o si es 1 o 0 no es primo "

Va una posible solucion
Código
  1. #include <stdio.h>
  2. #include <errno.h>
  3. #include <stdlib.h>
  4.  
  5. // P : n >= 0
  6. // Q : p = n > 1 and \not (\exits i : 2<= i , 2 <= 2i <= n : n%i = 0)
  7. // O(n)
  8. int prime(const int n)
  9. {
  10.  int d;
  11.  for(d=2 ; (2*d<=n) && (n%d); d++);
  12.  return (n>1)*(2*d > n) ;
  13. }
  14.  
  15. int main (void){
  16.  FILE *f;
  17.  int n;
  18.  if (!(f = fopen("datos.txt","r")))
  19.    {
  20.      perror("fopen");
  21.      exit(EXIT_FAILURE);
  22.    };
  23.  while(!feof(f)){
  24.    fscanf(f, "%d\n", &n);
  25.    if (prime(n)) printf("%d\n", n);
  26.  }
  27.  fclose(f);
  28. }
  29.  

Esto es el fichero datos.txt

Código:
0
1
2
3
4
5
6
7
8
9
10
11
12
13
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
45
46
47
48
49
50

Y esto la salida por pantalla
Código:
2
3
5
7
11
13
17
19
23
29
31
37
41
43
47
« Última modificación: 2 Febrero 2018, 14:29 pm por dijsktra » En línea

Si la depuración es el proceso de eliminar fallos en el software, entonces programar debe ser el proceso de ponerlos dentro. (Edsger Dijsktra)
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ejercicio de programacion C++
Programación C/C++
a666 2 3,017 Último mensaje 27 Mayo 2010, 19:46 pm
por @synthesize
Ejercicio C manejo de ficheros
Programación C/C++
Gr1nD3r 3 4,760 Último mensaje 26 Julio 2010, 07:28 am
por do-while
Problema en ejercicio de ficheros
Programación C/C++
DickGumshoe 5 3,520 Último mensaje 5 Febrero 2012, 15:50 pm
por DickGumshoe
un ejercicio de ficheros en c
Programación C/C++
Palante 3 2,492 Último mensaje 4 Junio 2017, 07:52 am
por MAFUS
Ayuda con ejercicio de ficheros C
Programación C/C++
ByFuenteS 2 2,783 Último mensaje 16 Febrero 2018, 14:59 pm
por dijsktra
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines