Debo generar primeramente dos valores aleatorios entre 0 y 1, si se genero 0 luego se debe generar otro numero aleatorio entre 0-9, si por el contrario se genero fue 1 luego se debe generar un numero aleatorio entre 0-5, pero siempre se generan los mismos numeros, a continuacion el codigo:
#include <stdio.h>
#include <stdlib.h>
#include<time.h>
main(){
int a,b,i;
for(i=1;i<=12;i++){
srand(time(NULL));
a=rand()%2;
printf("\n\n Valor aleatorio (0-1): %d",a);
if(a==0){
srand(time(NULL));
b=rand()%10;
printf("\n\n Valor aleatorio (0-9): %d",b);
}
else{
srand(time(NULL));
b=rand()%6;
printf("\n\n Valor aleatorio (0-5): %d",b);
}
}
printf("\n");
system("pause");
}
La funcion srand solo tenes que usarla una vez y, para evitar confuciones, al principio del programa.. AL llamar tantas veces a srand estas reiniciando la semilla, lo cual provoca que se repitan los numeros
Saludos
interesante lo que tienes que hacer para hacer en base 2, base 10, base 6
yo alguna vez tuve que hacer llamadas con srand
si te sirve el ejemplo lo tengo aca:
http://foro.elhacker.net/ingenieria_inversa/reto_crackme_6_de_flamer-t368430.15.html
saludos Apuromafo
pd:use arrays, asi lograba evitarme las confusiones de los valores posibles ^^
Debes poner el srand(time(NULL)); tan solo una vez. Ponlo al principio del main o antes de comenzar...