Corso IN110 Algoritmi e Strutture Dati

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);
}

Università degli Studi Roma Tre - Dipartimento di Matematica e Fisica - Corso di laurea in Matematica - Corso di Informatica 1 (IN110)

Author: Marco Liverani - Last modified: Saturday July 13, 2019 - URI: http://www.mat.uniroma3.it/users/liverani/IN110/20010316b.shtml