• Lunes 29 de Abril de 2024, 15:58

Autor Tema:  Numeros Aleatorios  (Leído 3513 veces)

enigma

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Numeros Aleatorios
« en: Domingo 20 de Marzo de 2005, 22:13 »
0
hola  a todos espero que me puedan ayudar

resulta que tengo que realizar un juego de loteria en c con 4 opciones de 3 digitos cada voleto de loteria, mi problema esta en que genero numeros aleatorios pero en un arreglo, por ahora estaba intentando la primera opcion del 0-249, la segunda seria del 250-499 y asi sucesivamente, estoy usando turbo c++ version 3.0 pero al mostrar el arreglo tengo 2 problemas primero los numeros me salen ordenados ascendentemente y eso no lo deseo y la segunda es que cuando mando a presentar un arreglo 250 se me cuelga el programa

les adjunto un poco de mi programa  

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <iostream.h>
#include <time.h>

int a,b,c,band;
int loteria[300];
int j,k,l;  //indices

int main()
{
j=0;
randomize();
a=0;
clrscr();

while (j<250)
{
       do{
   b=random(250);
       } while (b<0 || b>249);
       band=0;
       k=0;
       while (k<=j)
       {   if(rifa[k]==B)
      {   band=1;
      }
      k=k+1;
       }//fin del while que sirve para buscar numeros repetidos
       if (band==0)
       {   rifa[j]=k;
      j=j+1;
       }

}//fin del while

c=0;
while (c<j)
{
   cout<< rifa[c]<<endl;
   c=c+1;
}// fin del while que muestra los numeros del arreglo

getch();
return(0);
}// fin del programa


quisiera que me ayudaran solo en como puedo hacer para q en el arreglo coja numeros aleatorios pero no ordenados ascendentemente porq me da lo mismo q poner numeros secuenciales

de antemano muchas gracias

enigma

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: Numeros Aleatorios
« Respuesta #1 en: Domingo 20 de Marzo de 2005, 22:18 »
0
hubo un error en el nombre del arreglo aparece rifa pero es loteria, le cambie de nombre por motivos de algun numbre en especial en algun pais y me falto cambiar cuando guardo y presento los numeros del arreglo

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Numeros Aleatorios
« Respuesta #2 en: Viernes 25 de Marzo de 2005, 03:01 »
0
para los alearoios ... es poque debes ca,mbiar la semilla genradora de numeros aleatorios.

Código: Text
  1. #include &#60;stdlib.h&#62;
  2. #include &#60;stdio.h&#62;
  3. #include &#60;time.h&#62;
  4.  
  5. int main( void )
  6. {
  7.    int i;
  8.  
  9.    /* Seed the random-number generator with current time so that
  10.     * the numbers will be different every time we run.
  11.     */
  12.    srand( (unsigned)time( NULL ) );
  13.  
  14.    /* Display 10 numbers. */
  15.    for( i = 0;   i &#60; 10;i++ )
  16.       printf( &#34;  %6d&#092;n&#34;, rand() );
  17. }
  18.  
  19.  

y respecto a que se te rrevienta... lo miramos luego de que ajustes lo de los numeros
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

*** u S @ g U i ***

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Numeros Aleatorios
« Respuesta #3 en: Sábado 2 de Abril de 2005, 21:00 »
0
Hola leyendo tu problema, lo que entiendo es que no deseas que tu arreglo este ordenado si no desordenado, me equivoco? lo que vi en tu codigo es que los numeros aleatoriaos no los almacenas en tu vector, aqui te pongo un ejemplo para guardarlos en el mismo, espero que te sea de utilidad ;)

for (i=1;i<=n;i++)
     {
       a=random(9999);
       printf("\t\t D[%d]=%d\n",i,a);
       if(j==19){
        j=0;
      }
      j++;
     }