• Domingo 15 de Diciembre de 2024, 04:39

Autor Tema:  Re: Arreglos  (Leído 1167 veces)

xanatos

  • Miembro activo
  • **
  • Mensajes: 93
    • Ver Perfil
    • http://cucea.glo.org.mx
Re: Arreglos
« en: Sábado 19 de Abril de 2003, 22:45 »
0
que tal, una preguntota???

estoy haciendo un programita que genera numeros aleatoreos, pero a la hora que se repita uno me mande un mesaje de que esta repetido. He pensado en un array para ir acomulandolos y para compararlos. la cosa es como puedo mandar al arreglo el random

hago a = random(50);
printf("%dn",a);
y pues me los imprime pero como le hago apra que el random llegue al arreglo...
no se si me di a entender Gracias de antemano

:-)

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Arreglos
« Respuesta #1 en: Sábado 19 de Abril de 2003, 23:08 »
0
:alien:
 
Código: Text
  1.  
  2. #include '<'stdio.h'>'
  3. #include '<'time.h'>'
  4.  
  5. int main()
  6. {
  7.   int myrand, continua=1;
  8.   struct lista
  9.   {
  10.     int numero;
  11.     struct lista *siguiente;
  12.   }*mylist, *primlug, *aux;
  13.  
  14.   srand(time(0));
  15.  
  16.   mylist=(struct lista *) malloc(sizeof(struct lista));
  17.  
  18.   primlug=mylist;
  19.  
  20.   mylist->siguiente=NULL;
  21.   mylist->numero=0;
  22.  
  23.   myrand=rand()%51;
  24.   mylist->numero=myrand;
  25.  
  26.   /*---------------*/
  27.   while(continua==1)
  28.   {
  29.     mylist=primlug;
  30.     myrand=rand()%51;
  31.     /*busqueda*/
  32.     while(mylist->numero!=myrand && mylist->siguiente!=NULL)
  33.        mylist=mylist->siguiente;
  34.  
  35.     if (mylist->siguiente==NULL)
  36.     {/*no lo encontro*/
  37.        aux=(struct lista *) malloc(sizeof(struct lista));
  38.  
  39.        mylist->siguiente=aux;
  40.  
  41.        aux->siguiente=NULL;
  42.        aux->numero=myrand;
  43.  
  44.        printf("se ha agregado %d a la lista",myrand);
  45.     }
  46.     else
  47.     {
  48.        printf("n%d, estaba repetido, no se ha agregado a la lista",myrand);
  49.     }
  50.     printf("nDesea continuar?, 1=si, otro = no");
  51.     scanf("%d",&continua);
  52.   }
  53.   printf("nL I S T A:nn");
  54.   aux=primlug;
  55.   while(aux->siguiente!=NULL)
  56.   {
  57.       printf("n%d",aux->numero);
  58.       aux=aux->siguiente;
  59.   }
  60.   printf("nPresione enter para salir");
  61.   getch();
  62.   free(aux);
  63.   free(mylist);
  64.   free(primlug);
  65.   return 1;
  66. }
  67.  
  68.  
 ..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
:lightsabre:
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

xanatos

  • Miembro activo
  • **
  • Mensajes: 93
    • Ver Perfil
    • http://cucea.glo.org.mx
Arreglos
« Respuesta #2 en: Domingo 20 de Abril de 2003, 21:08 »
0
zaztre revisando y entendiendo codigo:D gracias por la ayuda