#include<stdio.h>
#include<stdlib.h>
#include "aleatorio.h"
void alsr(int **vector, int inicio, int fin, int cuantos)
{
int *temporal=NULL;
int i;
int j;
int pos;
int lon;
lon=fin-inicio;
/*Pedir memoria para temporal.*/
temporal
=(int*)malloc(lon
*sizeof(int));
if(temporal==NULL)
return;
for(i=0;i<lon;i++)
{
*(temporal+i)=inicio+i;
}
/*Pedir memoria array externo*/
*vector
=(int*)malloc(cuantos
*sizeof(int)); if(vector==NULL)
return;
/*Llenamos el vector de aleatorios*/
for(i=0;i<cuantos;i++)
{
/* Si tengo mas de un elemento */
if(cuantos > 1)
{
/*Copio el elemento de esa posicion al original*/
*(vector+i)=*(temporal+pos);
/*Realmente atrasamos el elemento del array*/
for(j=pos;j<lon-1;j++)
*(temporal+j)=*(temporal+j+1);
/*Vamos eliminando el ultimo elemento*/
lon--;
temporal
=(int*)realloc(temporal
,lon
*sizeof(int)); }
else
{
*(vector+i)=*(temporal);
}
}
temporal=0;
return;
}