Alberi random

Per generare un albero casuale, usare queste due funzioni:

TipoAlbero GeneraAlbero(int n) {
  TipoAlbero a;

  if(rand()%(n+1)==0)
    return NULL;

  return GeneraAlberoRic(n);
}

TipoAlbero GeneraAlberoRic(int n) {
  TipoAlbero a;
  int i;

  a=malloc(sizeof(struct NodoAlbero));
  a->info=rand()%100-30;
  if(n>0)
    a->numfigli=rand()%5;
  else
    a->numfigli=0;
  a->figli=malloc(sizeof(struct NodoAlbero *)*a->numfigli);

  for(i=0; i<a->numfigli; i++)
    a->figli[i]=GeneraAlberoRic(n-1);

  return a;
}

Per testare le funzioni: generare un albero casuale, stamparlo, chiamare la funzione e verificare il risultato. Non è necessario sapere perchè queste due funzioni di sopra sono corrette.