Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- int analisi_vettore (int* vett_ins, int* vett_primi, int* vett_norm, int lunghezza);
- int Scrivi_File (int* vettore, int lunghezza, char* nome_file);
- int trova_primo (int numero);
- int main (){
- int *num_inseriti;
- int *num_primi;
- int *num_norm;
- int i=0;
- int y;
- char file_1[20], file_2[20], file_3[20];
- num_inseriti= NULL;
- num_primi = NULL;
- num_norm = NULL;
- printf ("Benvenuto, inserisci una serie di numeri (negativo per uscire)\n ");
- do
- {
- scanf ("%d", &y);
- num_inseriti = (int*)realloc(num_inseriti, (i+1)*sizeof(int));
- num_inseriti[i] = y;
- i++;
- }while (y>=0);
- num_primi=(int*)malloc((i-1)*sizeof(int));
- num_norm=(int*)malloc((i-1)*sizeof(int));
- printf ("In che file vuoi salvare i seguenti vettori?\n");
- scanf("%s%s%s", file_1, file_2, file_3);
- Scrivi_File (num_inseriti, i-1, file_1);
- Scrivi_File (num_primi , analisi_vettore (num_inseriti, num_primi, num_norm, i-1) , file_2);
- Scrivi_File (num_norm, ((i-1)-analisi_vettore (num_inseriti, num_primi, num_norm, i-1)), file_3);
- printf ("Grazie per la tua disponibilita\n");
- 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 i=0;
- int j=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 Scrivi_File (int* vettore, int lunghezza, char* nome_file)
- {
- FILE*fp = fopen (nome_file, "w");
- if (fp!=NULL)
- {
- for (int i=0; i<lunghezza; i++)
- {
- fprintf (fp, "%d\n", vettore[i]);
- }
- fclose(fp);
- }
- else
- {
- printf ("Errore di apertura del file");
- return 0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement