Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int analisivettore(int* vettins, int* vettprimi, int* vettnorm, int lunghezza);
- int scrivifiletutti(int* vettore, int lunghezza, char* nome_file);
- int scrivifileprimi(int* vettore, int lunghezza, char* nome_file);
- int scrivifilenormali(int* vettore, int lunghezza, char* nome_file);
- int main ()
- {
- int *num_inseriti=NULL;
- int *num_primi=NULL;
- int *num_normali=NULL;
- int n, lenght;
- int i=0, u;
- int flag=0;
- int m;
- do
- {
- printf("Inserisci numero\n");
- scanf("%d", &n);
- if (n>0)
- {
- num_inseriti=(int*)realloc(num_inseriti, (i+1)*sizeof(int));
- *(num_inseriti+i)=n;
- i++;
- }
- else
- {
- flag=1;
- }
- }while(flag==0);
- lenght = analisivettore(num_inseriti, num_primi, num_normali,i);
- u = i - lenght;
- printf("\n%d", lenght);
- scrivifiletutti(num_inseriti, i, "tutti.txt" );
- scrivifileprimi(num_primi, lenght, "primi.txt");
- scrivifilenormali(num_normali, u, "normali.txt");
- free(num_inseriti);
- free(num_primi);
- free(num_normali);
- return 0;
- }
- int analisivettore(int* vettins, int* vettprimi, int* vettnorm, int lunghezza)
- {
- int k, z,flag=0, j=0, f=0;
- for (k=0; k<lunghezza; k++)
- {
- if (vettins[k]==1)
- {
- vettnorm=(int*)realloc(vettnorm, (j+1)*sizeof(int));
- vettnorm[j]=vettins[k];
- j++;
- }
- else if(vettins[k]==2)
- {
- vettprimi=(int*)realloc(vettprimi, (f+1)*sizeof(int));
- vettprimi[f]= vettins[k];
- f++;
- }
- else
- {
- if(trovaprimo(vettins[k])==0)
- {
- vettnorm=(int*)realloc(vettnorm, (j+1)*sizeof(int));
- vettnorm[j]=vettins[k];
- j++;
- }
- else if(trovaprimo(vettins[k])==1)
- {
- vettprimi=(int*)realloc(vettprimi, (f+1)*sizeof(int));
- vettprimi[f]= vettins[k];
- f++;
- }
- }
- }
- return f;
- }
- int scrivifiletutti(int* vettore, int lunghezza, char* nome_file)
- {
- FILE *fp;
- fp=fopen(nome_file, "w");
- int s;
- if (fp!=NULL)
- {
- for (s=0;s<lunghezza; s++)
- {
- fprintf(fp, "%d\n", *(vettore+s));
- }
- }
- else
- {
- printf("Eroore di apertura\n");
- }
- fclose(fp);
- return 0;
- }
- int scrivifileprimi(int* vettore, int lunghezza, char* nome_file)
- {
- int i;
- FILE *fa;
- fa=fopen(nome_file, "w");
- if (fa!=NULL)
- {
- for (i=0; i<lunghezza; i++)
- {
- fprintf(fa, "%d\n", *(vettore+i));
- }
- }
- else
- {
- printf("Errore di apertura\n");
- }
- fclose(fa);
- return 0;
- }
- int scrivifilenormali(int* vettore, int lunghezza, char* nome_file)
- {
- int q;
- FILE *fz;
- fz=fopen(nome_file, "w");
- if (fz!=NULL)
- {
- for (q=0; q<lunghezza; q++)
- {
- fprintf(fz, "%d\n", *(vettore+q));
- }
- }
- else
- {
- printf("Errore di apertura\n");
- }
- fclose(fz);
- return 0;
- }
- int trovaprimo (int numero)
- {
- int i=3;
- int count=0;
- for (i=2; i<numero; i++)
- {
- if(numero%i==0)
- {
- count++;
- }
- }
- if (count>=1)
- {
- return 0;
- }
- else
- {
- return 1;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement