E aí galera, to fazendo um exercício onde precisa criar uma função "dado()", utilizando a função "rand()", o problema é que tá gerando sempre o mesmo número:
Se vocês compilarem, vão ver que sempre um número entre 1 e 6 está sendo "sorteado" nas 1.000.000 de vezes. O que tem de errado no código?
Código:
#include <stdio.h> #include <time.h> #include <stdlib.h> int dado (); int main () { int x, x1 = 0, x2 = 0, x3 = 0, x4 = 0, x5 = 0, x6 = 0; int count; for(count=0 ; count < 1000000 ; count++) switch(dado()){ case 1: x1++; break; case 2: x2++; break; case 3: x3++; break; case 4: x4++; break; case 5: x5++; break; case 6: x6++; } printf("1 = %d \n2 = %d \n3 = %d \n4 = %d \n5 = %d \n6 = %d", x1, x2, x3, x4, x5, x6); } int dado () { int x; srand((unsigned)time(NULL)); x = rand() % 6 + 1; return x; }
Comment