#include #include #include // Funzione per generare un valore casuale compreso tra a e b int genera_valore_casuale(int a, int b) { return rand() % (b - a + 1) + a; } // Funzione per cercare le occorrenze di un valore specifico in un array int conta_occorrenze(int array[], int lunghezza, int valore) { int contatore = 0; for (int i = 0; i < lunghezza; i++) { if (array[i] == valore) { contatore++; } } return contatore; } int main() { int n, a, b, valore_specifico; // Input della dimensione degli array e degli estremi dell'intervallo printf("Inserisci la dimensione degli array: "); scanf("%d", &n); printf("Inserisci gli estremi dell'intervallo (a e b): "); scanf("%d %d", &a, &b); printf("Inserisci il valore specifico da cercare: "); scanf("%d", &valore_specifico); // Allocazione dinamica di memoria per gli array int *array_valori = (int *)malloc(n * sizeof(int)); int *array_random = (int *)malloc(n * sizeof(int)); // Inizializzazione del generatore di numeri casuali srand(time(NULL)); // Input dei valori nell'array printf("Inserisci i valori nell'array:\n"); for (int i = 0; i < n; i++) { scanf("%d", &array_valori[i]); } // Generazione di valori casuali e memorizzazione nell'array random for (int i = 0; i < n; i++) { array_random[i] = genera_valore_casuale(a, b); } // Cerca le occorrenze del valore specifico in entrambi gli array int occorrenze_valori = conta_occorrenze(array_valori, n, valore_specifico); int occorrenze_random = conta_occorrenze(array_random, n, valore_specifico); // Stampa il risultato printf("Il valore %d compare %d volte nell'array dei valori inseriti.\n", valore_specifico, occorrenze_valori); printf("Il valore %d compare %d volte nell'array dei valori casuali.\n", valore_specifico, occorrenze_random); // Deallocazione della memoria free(array_valori); free(array_random); return 0; }