diff --git a/main.c b/main.c new file mode 100644 index 0000000000000000000000000000000000000000..f32d77894e08823423b753e4ea33dbd1c53cc85c --- /dev/null +++ b/main.c @@ -0,0 +1,41 @@ +#include <stdio.h> +#include <stdlib.h> +/* + * Ce code se compose en 4 parties : + * 1. avec la fonction <fscanf>, on met le chiffre du fichier dans une variable <chiffre> + * 2. on écris ce chiffre dans le fichier de sortie avec <fprintf> + * 3. on trouve les nombres premiers divisant <chiffre> qu'on écrit ensuite dans le fichier de sortie avec <fprintf> + * 4. toujours avec <fprintf>, on n'oublie pas de mettre "\n" pour passer à la ligne suivante + * + * Ce programme n'est pas optimisé et écris tous les diviseurs de <chiffre> même si ceux-ci apparaissent plus d'une fois + */ +int main() { + FILE *f_in = fopen("C:\\Users\\arnau\\OneDrive\\Bureau\\Projet V1.0\\example_input.txt", "r"); + FILE *f_out = fopen("C:\\Users\\arnau\\OneDrive\\Bureau\\Projet V1.0\\example_output.txt", "w"); + if (f_in == NULL) exit(1); + if (f_out == NULL) exit(1); + + int chiffre = 0; + + while (fscanf(f_in, "%d", &chiffre) != EOF) //EOF == end of file + { + fprintf(f_out, "%d ", chiffre); + + int i = 2; + while (chiffre != 1) { // boucle non optimisée (à revoir) + if (chiffre % i == 0) { + while (chiffre % i == 0) { + fprintf(f_out,"%d ", i); + chiffre = chiffre/i; + } + } + i++; + } + + fprintf(f_out, "\n"); + } + + fclose(f_in); + fclose(f_out); + return 0; +} \ No newline at end of file