Advertisement
Guest User

Untitled

a guest
Jan 25th, 2020
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.97 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int analisi_vettore (int* vett_ins, int* vett_primi, int* vett_norm, int lunghezza);
  6. int Scrivi_File (int* vettore, int lunghezza, char* nome_file);
  7. int trova_primo (int numero);
  8.  
  9. int main (){
  10.  
  11. int *num_inseriti;
  12. int *num_primi;
  13. int *num_norm;
  14. int i=0;
  15. int y;
  16. char file_1[20], file_2[20], file_3[20];
  17.  
  18. num_inseriti= NULL;
  19. num_primi = NULL;
  20. num_norm = NULL;
  21.  
  22. printf ("Benvenuto, inserisci una serie di numeri (negativo per uscire)\n ");
  23.  
  24. do
  25. {
  26. scanf ("%d", &y);
  27. num_inseriti = (int*)realloc(num_inseriti, (i+1)*sizeof(int));
  28. num_inseriti[i] = y;
  29. i++;
  30. }while (y>=0);
  31.  
  32. num_primi=(int*)malloc((i-1)*sizeof(int));
  33. num_norm=(int*)malloc((i-1)*sizeof(int));
  34.  
  35. printf ("In che file vuoi salvare i seguenti vettori?\n");
  36. scanf("%s%s%s", file_1, file_2, file_3);
  37.  
  38. Scrivi_File (num_inseriti, i-1, file_1);
  39. Scrivi_File (num_primi , analisi_vettore (num_inseriti, num_primi, num_norm, i-1) , file_2);
  40. Scrivi_File (num_norm, ((i-1)-analisi_vettore (num_inseriti, num_primi, num_norm, i-1)), file_3);
  41.  
  42. printf ("Grazie per la tua disponibilita\n");
  43. return 0;
  44.  
  45. }
  46.  
  47. int trova_primo (int numero)
  48. {
  49. int flag=0;
  50. int divisore;
  51.  
  52. for (divisore=2; divisore<numero; divisore++)
  53. {
  54. if (numero%divisore == 0)
  55. flag++;
  56. }
  57. return flag;
  58. }
  59.  
  60. int analisi_vettore (int* vett_ins, int* vett_primi, int* vett_norm, int lunghezza)
  61. {
  62. int i=0;
  63. int j=0;
  64. for (int k=0; k<lunghezza; k++)
  65. {
  66. if (trova_primo(vett_ins[k]) == 0)
  67. {
  68. vett_primi[i] = vett_ins[k];
  69. i++;
  70. }
  71. else
  72. {
  73. vett_norm[j] = vett_ins[k];
  74. j++;
  75. }
  76. }
  77. return i;
  78. }
  79.  
  80. int Scrivi_File (int* vettore, int lunghezza, char* nome_file)
  81. {
  82. FILE*fp = fopen (nome_file, "w");
  83.  
  84. if (fp!=NULL)
  85. {
  86. for (int i=0; i<lunghezza; i++)
  87. {
  88. fprintf (fp, "%d\n", vettore[i]);
  89. }
  90. fclose(fp);
  91. }
  92. else
  93. {
  94. printf ("Errore di apertura del file");
  95. return 0;
  96. }
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement