Ayuda a programar loteria en C
Hola, alguien me podria ayudar con este problema:
El ejercicio dice lo siguiente:
Crear un programa de loteria (6 numeros aleatorios de 49).
Ingrezar o digitar 6 cifra.
Con un generador de numeros aleatorias generar 6 de 49:
Conparar los numeros generadas con las cifras digitadas.
Con el generador de numeros aleatorios generar 6 numeros más.
Volver a comparar y que esto se repita hasta que los numeros generados sea igual a las cifras ingresadas.
Imprimir el numero de compraraciones.
#include
#include
#include
#include
#define MAX 6
int main(void)
{
int i = 0;
int j = 0;
int k = 0;
int array1[MAX];
int array2[MAX];
int flag = 0;
for(i = 0; i < MAX; i++)
{
array1[i] = i;
printf("");
scanf("%i",&array1[i]);
}
printf("Segundan");
srand(time(0));
do
{
for(j = 0; j < MAX; j++)
{
array2[j] = 1+rand()%49
;
printf("%in",array2[j]);
}
for(k = 0; k < MAX; k++)
{
if( array1[i] == array2[j] )
flag =1;
}
}
while (flag == 1);
{
printf("Ganaste");
}
getchar ();
getchar ();
return EXIT_SUCCESS;
}
La comparacion de las cifras creo que no funciona bien.
Alguien me podria ayudar?
El ejercicio dice lo siguiente:
Crear un programa de loteria (6 numeros aleatorios de 49).
Ingrezar o digitar 6 cifra.
Con un generador de numeros aleatorias generar 6 de 49:
Conparar los numeros generadas con las cifras digitadas.
Con el generador de numeros aleatorios generar 6 numeros más.
Volver a comparar y que esto se repita hasta que los numeros generados sea igual a las cifras ingresadas.
Imprimir el numero de compraraciones.
#include
#include
#include
#include
#define MAX 6
int main(void)
{
int i = 0;
int j = 0;
int k = 0;
int array1[MAX];
int array2[MAX];
int flag = 0;
for(i = 0; i < MAX; i++)
{
array1[i] = i;
printf("");
scanf("%i",&array1[i]);
}
printf("Segundan");
srand(time(0));
do
{
for(j = 0; j < MAX; j++)
{
array2[j] = 1+rand()%49
;
printf("%in",array2[j]);
}
for(k = 0; k < MAX; k++)
{
if( array1[i] == array2[j] )
flag =1;
}
}
while (flag == 1);
{
printf("Ganaste");
}
getchar ();
getchar ();
return EXIT_SUCCESS;
}
La comparacion de las cifras creo que no funciona bien.
Alguien me podria ayudar?
Bueno, según lo que entendí se meten 6 cifras en un array a través del teclado, después se generan otras 6 aleatoriamente en otro array y se comparan hasta que coincidan, ahora mi duda es, todos los elementos deben coincidir o basta con 1?
Hice el programa para el primer caso, no lo he probado, en dado caso de que sea la segunda forma, basta con que modifiques mi programa para que busque sólo una coincidencia:
[code type="C"]#include
#include
#include
#define MAX 6
void genarray(int [],int);
int comparray(int [],int [],int);
int main(void)
{
int i,j,val;
long int comparaciones=0;
int array1[MAX],array2[MAX];
for(i = 0; i < MAX; i++)
scanf("%d",&array1[i]);
do{
genarray(array2,MAX);
val=comparray(array1,array2,MAX);
comparaciones++;
}while(val!=1);
printf("%d",comparaciones);
getch();
return 0;
}
void genarray(int a[],int size)
{
int m;
srand(time(NULL));
for(m=0;m
Hice el programa para el primer caso, no lo he probado, en dado caso de que sea la segunda forma, basta con que modifiques mi programa para que busque sólo una coincidencia:
[code type="C"]#include
#include
#include
#define MAX 6
void genarray(int [],int);
int comparray(int [],int [],int);
int main(void)
{
int i,j,val;
long int comparaciones=0;
int array1[MAX],array2[MAX];
for(i = 0; i < MAX; i++)
scanf("%d",&array1[i]);
do{
genarray(array2,MAX);
val=comparray(array1,array2,MAX);
comparaciones++;
}while(val!=1);
printf("%d",comparaciones);
getch();
return 0;
}
void genarray(int a[],int size)
{
int m;
srand(time(NULL));
for(m=0;m