#include '<'stdio.h'>'
#include '<'time.h'>'
int main()
{
int myrand, continua=1;
struct lista
{
int numero;
struct lista *siguiente;
}*mylist, *primlug, *aux;
srand(time(0));
mylist=(struct lista *) malloc(sizeof(struct lista));
primlug=mylist;
mylist->siguiente=NULL;
mylist->numero=0;
myrand=rand()%51;
mylist->numero=myrand;
/*---------------*/
while(continua==1)
{
mylist=primlug;
myrand=rand()%51;
/*busqueda*/
while(mylist->numero!=myrand && mylist->siguiente!=NULL)
mylist=mylist->siguiente;
if (mylist->siguiente==NULL)
{/*no lo encontro*/
aux=(struct lista *) malloc(sizeof(struct lista));
mylist->siguiente=aux;
aux->siguiente=NULL;
aux->numero=myrand;
printf("se ha agregado %d a la lista",myrand);
}
else
{
printf("n%d, estaba repetido, no se ha agregado a la lista",myrand);
}
printf("nDesea continuar?, 1=si, otro = no");
scanf("%d",&continua);
}
printf("nL I S T A:nn");
aux=primlug;
while(aux->siguiente!=NULL)
{
printf("n%d",aux->numero);
aux=aux->siguiente;
}
printf("nPresione enter para salir");
getch();
free(aux);
free(mylist);
free(primlug);
return 1;
}
..como te daras cuenta, trabajo un array dinamico.. o lista enlazada.
la funcion srand().. inicia la semilla de numero aleatorios, de otra forma siempre te daria los mismos numeros aleatorios, como parametro le pase time(0), para que reciba qcada vez una semilla diferente.
La funcion rand, nos sirve casi para lo mismo quie random.
Creo que esta plasmado que es lo que debes hacer, o por lo menos algo muy similar.
Juank