Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Duvida no video na parte do -1

O professor falou que o numero randomico vai de 0 até qtddepalavras - 1,não entendi do pq desse -1,a parte do código é essa int randomico = rand() % qtddepalavras,alguém poderia me explicar esse -1?

1 resposta
solução!

Olá Vitor,

A operação a % b representa o resto da divisão de a por b. Se analisarmos uma sequência de resultados do uso desse operador, conseguimos chegar na resposta para sua dúvida:

0 % 3 = 0 
1 % 3 = 1
2 % 3 = 2
3 % 3 = 0
4 % 3 = 1
5 % 3 = 2
6 % 3 = 0
7 % 3 = 1

Perceba que nessa sequência, o resto da divisão nunca pode ser igual a 3. Se o resto for igual a 3, então daria pra aumentar 1 no resultado da divisão e o resto voltaria a ser 0.

Então quando escrevemos rand() % qtddepalavras, o resto da divisão nunca vai poder ser exatamente igual a qtddepalavras. O valor máximo que ele pode alcançar é qtddepalavras - 1, assim como no exemplo acima. Como querendo o resto da divisão por 3, nunca teremos o resultado 3. Só conseguimos chegar até 2 (3 - 1).