Gli esercizi
Testi e soluzioni di alcuni esercizi
Generazione di un array di interi casuali
/*
** array_random.c
**
** Genera una sequenza casuale di n numeri interi compresi
** tra a e b, li memorizza in un array e li stampa.
**
** Marco Liverani (liverani@mat.uniroma3.it) - Ottobre 2007
*/
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
/*
* funzione per la generazione di una sequenza
* casuale di n numeri interi (compresi fra a e b).
* Li memorizza in un array e restituisce il numero
* di elementi generati.
*/
int genera_array(int x[], int a, int b) {
int i, n;
srand((unsigned) time(NULL));
printf("Numero di elementi: ");
scanf("%d", &n);
for (i=0; i<n; i++) {
x[i] = rand() % (b-a) + a;
}
printf("Ho generato %d numeri random compresi tra %d e %d.\n", n, a, b);
return(n);
}
/*
* funzione per la stampa di un array di numeri interi.
*/
void stampa_array(int n, int x[]) {
int i;
for (i=0; i<n; i++) {
printf("%d\n", x[i]);
}
return;
}
/*
* funzione principale (main)
*/
int main(void) {
int n, v[MAX], a, b;
printf("Estremi dell'intervallo di generazione dei numeri casuali: ");
scanf("%d %d", &a, &b);
n = genera_array(v, a, b);
stampa_array(n, v);
return(0);
}