Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int analisiVettore (int* vett_ins, int* vett_primi, int* vett_norm, int lunghezza);
- int ScriviFile(int* vettore, int lunghezza, char* nome_file);
- int trova_primo (int numero);
- int main()
- {
- int *vettIns=NULL, *vettPrimi=NULL, *vettNorm=NULL;
- int num, l=0;
- printf("Benvenuto nel programma!\n");
- do
- {
- printf("Inserisci un numero: ");
- scanf("%d" , &num);
- vettIns = (int*)realloc(vettIns, ++l*(sizeof(int))); //Inserimento dinamico numeri
- if(vettIns==NULL)
- {
- printf("Errore allocazione memoria");
- return (1);
- }
- *(vettIns+(l-1)) = num;
- }while(num>0);
- /*printf("\nI valori inseriti sono: ");
- for(int i=0; i<l-1;i++) //Debug vettIns
- printf("%d\t" , vettIns[i]);*/
- ScriviFile(vettIns, l, "numeri.txt"); //Chiamata funzioni
- ScriviFile(vettPrimi, analisiVettore(vettIns, vettPrimi, vettNorm, l-1), "numeri_primi.txt");
- ScriviFile(vettNorm, ((l-1)-analisiVettore(vettIns, vettPrimi, vettNorm, l-1)), "numeri_norm.txt");
- return 0;
- }
- int trova_primo (int numero)
- {
- int flag=0;
- int divisore;
- for (divisore=2; divisore<numero; divisore++)
- {
- if (numero%divisore == 0)
- flag++;
- }
- return flag;
- }
- int analisi_vettore (int* vett_ins, int* vett_primi, int* vett_norm, int lunghezza)
- {
- int j=0, i=0;
- for (int k=0; k<lunghezza; k++)
- {
- if (trova_primo(vett_ins[k]) == 0)
- {
- vett_primi[i] = vett_ins[k];
- i++;
- }
- else
- {
- vett_norm[j] = vett_ins[k];
- j++;
- }
- }
- return i;
- }
- int ScriviFile(int* vettore, int lunghezza, char* nome_file)
- {
- FILE *fp = fopen("numeri" , "w");
- if(fp==NULL)
- printf("Errore apertura file");
- else
- {
- for(int i=0; i<lunghezza; i++)
- fprintf(fp , "%d" , vettore[i]);
- }
- fclose(fp);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement