Minha dúvida é por que ao invés de fazer
int tempo = time(0);
srand(tempo);
int numero_aleatorio = rand()%100;
não fazemos
int tempo = time(0);
int numero_aleatorio = tempo%100;
Minha dúvida é por que ao invés de fazer
int tempo = time(0);
srand(tempo);
int numero_aleatorio = rand()%100;
não fazemos
int tempo = time(0);
int numero_aleatorio = tempo%100;
Opa, tudo bom?
Cara, montei um exemplo pra ti dar uma testadinha, logo em seguida a explicação.
Para alternar, basta comentar a função atual e descomentar a outra.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <locale.h>
void TempoSemSrand();
void TempoComSrand();
int main (void){
setlocale(LC_ALL, "Portuguese");
TempoSemSrand();
//TempoComSrand();
}
void TempoSemSrand(){
int tempo = time(0);
while (tempo > 0){
printf ("\n\n O tempo é %d\n", tempo);
printf ("%d\n\n", tempo%100);
getch();
}
}
void TempoComSrand(){
int tempo = time(0);
srand(tempo);
while(tempo > 0){
printf ("\n\n O tempo É %d\n", tempo);
printf ("%d\n\n", rand()%100);
getch();
}
}
Então, vou explicar um pouco do teu próprio código postado:
A primeira variável declarada que recebe um time(0) vai servir simplesmente para capturar o tempo atual e alimentar o Srand().
O Srand, recebe como parâmetro um inteiro, que é o intervalo de números que ele poderá gerar a sequência. Uma vez usado o Srand, ele não deixa que os números do Rand se repitam(sequêncialmente).
Por fim, o Rand%100 que seria um NumeroAleatório(dentro da faixa passada) % 100 limita o valor máximo produzido. Ou seja, o NumeroAleatório%100 poderá chegar no máximo até 100.