Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Thiago Boufleuhr

Randomizar sem repetir!

Recommended Posts

Ola galera...eh o seguinte, estou fazendo um trabalho para a faculdade e preciso de uma ajudinha se possivel!!bom, estou fazendo um prog em C++ paar gerar numeros aleatorios, mas a cada N vezes q repito o sorteio, as vezes numeros aparecem iguais, tpw, sortiei os numeros 50 - 25 -28 -25, numa possivel proxima vez, ele faz: 87 - 51 -87 -56, como podem ver ele repetiu o 87, gostaria de saber como faço para naum repetir numeros num mesmo sorteio??estou usando "srand()" e "rand()"...aguardo respostaobrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode colocar os números que você quer em uma lista encadeada e sortear a posição que vai ser retirada da lista.

Assim:

 

vector<int> lista;for( int i = 1; i <= 100; i++ ) {	lista.push_back(i);}srand((unsiged) time(NULL));int vetor_sorteados[5];int numSorteados = 0;while( numSorteados < 5 ) {	int s = rand() % lista.size();	vetor_sorteados[numSorteados] = lista[s];	lista.erase(lista.begin() + s);	numSorteados++;}for( int i = 0; i < numSorteados; i++ )	cout << vetor_sorteados[i] << " ";

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.