• Jueves 2 de Mayo de 2024, 22:45

Autor Tema:  Problema Loteria Primitiva Con Las Repeticiones  (Leído 1221 veces)

aaron

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Problema Loteria Primitiva Con Las Repeticiones
« en: Martes 15 de Noviembre de 2005, 14:08 »
0
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;
}

punteroNULO

  • Miembro activo
  • **
  • Mensajes: 73
    • Ver Perfil
Re: Problema Loteria Primitiva Con Las Repeticiones
« Respuesta #1 en: Jueves 17 de Noviembre de 2005, 11:36 »
0
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]
P.D.: Si se escribe el codigo con tabulaciones es más fácil distinguir lo distintos bloques y más facil de interpretar.

aaron

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Problema Loteria Primitiva Con Las Repeticiones
« Respuesta #2 en: Jueves 17 de Noviembre de 2005, 22:46 »
0
muxas gracias x la ayuda, en cuanto llegue a casa lo pruebo y te comento.

LeGatoRojo

  • Miembro HIPER activo
  • ****
  • Mensajes: 552
  • Nacionalidad: mx
    • Ver Perfil
    • LeGatoRojo
Re: Problema Loteria Primitiva Con Las Repeticiones
« Respuesta #3 en: Viernes 18 de Noviembre de 2005, 10:25 »
0
vaya aqui tambien esta este mensaje  :blink:
Un día desperte y en lugar de dientes tenía colmillos, en lugar de manos, tenía garras; pero lo más impactante fue el color escarlata de mi pelaje.