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);
}