Título: EJERCICIO programacion en C. FICHEROS Publicado por: Pinkfloyero 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); } Título: Re: EJERCICIO programacion en C. FICHEROS Publicado por: MAFUS en 27 Enero 2018, 23:05 pm No entiendo qué pretendes con esa condición del if.
Título: Re: EJERCICIO programacion en C. FICHEROS Publicado por: Pinkfloyero 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 :-[
Título: Re: EJERCICIO programacion en C. FICHEROS Publicado por: dijsktra 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
Esto es el fichero datos.txt Código: 0 Y esto la salida por pantalla Código: 2 |