int *Memoria(int &tam) 
{ 
 int i, *a; 
 do 
 { 
  printf("\nInserta el tamaño de la matriz: "); 
  scanf("%d",& tam); 
  fflush(stdin); 
 }
 while (tam<1); 
 a=new int[tam];
  for(i=0; i<tam; i++)
   a=rand()%45;  
 return(a); 
} 
es facil, tan solo returna un arreglo de int's y en tam queda almacenado el tamaño.