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