Ciao ragazzi, devo scrivere un programma in C che, presi dei numeri interi da un file "input.txt", inserisca solo i numeri primi nel file "output.txt".
Questo è il mio codice... cosa ho sbagliato?
codice:#include <stdio.h> #include <stdlib.h> int main () { FILE *in, *out; int n; int i; int primi=0; int cont=0; in = fopen ("input.txt", "r"); out = fopen ("output.txt", "w"); if (in == NULL) printf ("Il file non esiste.\n"); else { do { fscanf (in, "%d", &n); if (!feof(in)) { for (i=2; i<=n/2; i++) { if (n%i==0) cont++; } if (cont==0) { primi++; fprintf (out, "%d\t", n); } } } while (!feof (in)); } fprintf (out, "\n\nSono stati inseriti %d numeri primi.\n", primi); fclose (in); fclose (out); }

Rispondi quotando