Cantidad aleatoria de 0 y 1 en C

publicado por: Anonymous

necesito generar un número aleatorio de 0’s y 1’s en C.
Intente hacer dos variables con números aleatorios, la de 0’s y 1’s, y la otra para que sea el límite de un ciclo que se ejecute para generar esos 0’s y 1’s. Espero alguien pueda ayudarme. Les dejo parte del código para que me digan si estoy mal, perdido o casi muerto jajaja

int aleat = rand()%100+1;//aleat es el tope del ciclo 

for(int i = 0; i <aleat; i++){
    numero[i] = rand()%1+1; //0 o 1 generado que se guarda en un arreglo
}

solución

Tu problema está que al querer sacar el residuo de un número random entre 1 siempre sale 0 porque todo número es divisible entre uno. Por eso que al final numero[i] siempre toma el valor de 0 + 1.

Para solucionar el problema tienes que usar % 2, porque los residuos de 2 son 0’s y 1’s.

Al final quedaría algo así:

int aleat = rand() % 100 + 1;//aleat es el tope del ciclo

numero[aleat];

for(int i = 0; i < aleat; i++){
    numero[i] = rand() % 2; //0 o 1 generado que se guarda en un arreglo
}
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *