SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: aaron en Martes 15 de Noviembre de 2005, 14:08

Título: Problema Loteria Primitiva Con Las Repeticiones
Publicado por: aaron en Martes 15 de Noviembre de 2005, 14:08
Estoy realizando un programa que tras introducir 5 nºs se realiza un sorteo y me tiene que indicar cuales tengo acertados, el problema esta en q me repite nºs, ademas q a la hora de realizar el sorteo m saca mas de 5 numeros en el sorteo y no se por que luego no coinciden los quesupuestamente se han acertado con los q tengo yo. he reducido las probabilidades de 49 a 10 para que se vea antes
ayudenme por favor. muxas gracias de antemano


int main(int argc, char* argv[])
{  int a[5],b[5],i,j;  //dond 'a' sera mi apuesta y 'b' la del sorteo, i y j son contadores
   for(i=0;i<=5;i++)
   {
      printf ("N%d; ",i+1);
      scanf("%d",&a);
   }
   randomize();
   printf("\nLa combinacion ganadora es: ");
   for(i=0;i<=5;i++)//para realizar sorteo
   {
      b=random(10)+1; //49+1
      for (j=i-1;j>0;j--)//xa q no se repita
         if (b==b[j])
         {  i--;
            break;
         }
      printf("%d ",b);
   }
   printf("\nNumeros Acertados: ");
   for(i=0;i<=5;i++)
   {  for (j=0;j<=5;j++)
      {
         if(b[j]==a)
         {  printf("%d ",a);
         }
      }
   }
   getche();
        return 0;
}
Título: Re: Problema Loteria Primitiva Con Las Repeticiones
Publicado por: punteroNULO en Jueves 17 de Noviembre de 2005, 11:36
Hola.

Bueno en primer lugar las funciones Randomize() y Random() devulven número seudoaleatorios con lo que hay muchas posibilidades de que se repitan combinaciones.

Luego cuanto al código, los bucles tienen mal puesta la condición

Código: Text
  1.  

El siguiente tiene dos fallos

Código: Text
  1.  
  2. for (j=i-1;j&#62;0;j--)//xa q no se repita
  3.     if (b[i]==b[j])
  4.         { i--;
  5.         break;
  6.         }
  7. printf(&#34;%d &#34;,b[i]);
  8.  
  9.  

no se comprueba el primer elemento (j>0) y luego se muestra por pantalla aunque este repetido, se soluciona indicando si hay repetición, por ejemplo con una variable BOOL Repetido

[code=text]
Título: Re: Problema Loteria Primitiva Con Las Repeticiones
Publicado por: aaron en Jueves 17 de Noviembre de 2005, 22:46
muxas gracias x la ayuda, en cuanto llegue a casa lo pruebo y te comento.
Título: Re: Problema Loteria Primitiva Con Las Repeticiones
Publicado por: LeGatoRojo en Viernes 18 de Noviembre de 2005, 10:25
vaya aqui tambien esta este mensaje  :blink: