65 lines
2.1 KiB
C
65 lines
2.1 KiB
C
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <time.h>
|
|
|
|
// 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;
|
|
}
|
|
|