View Full Version : Valores Aleatórios


William Rodrigues
04-18-2006, 06:11 PM
Salve galera!
Sou meio novato em C++. Já programei em Visual Basic 6.0 e VIsual Basic.NET.
Bom, tô com alguns probleminhas aqui.
Estou querendo gerar N números aleatórios. Porém, nenhum deles deve ser
repetido.
Já tentei usar o rand() e o srand() porém, a cada execução realmente não tem
valores repetidos, porém, no mesmo sorteio aparece valores repetidos.
Gostaria de uma ajuda para chegar a solução deste meu problema.

Abraços,

Frederico Pissarra
04-19-2006, 01:05 AM
"William Rodrigues" <William Rodrigues@discussions.microsoft.com> wrote in
message news:970E9C88-6FE2-410D-B772-4FB7E7DF1D35@microsoft.com...
> Salve galera!
> Sou meio novato em C++. Já programei em Visual Basic 6.0 e VIsual
> Basic.NET.
> Bom, tô com alguns probleminhas aqui.
> Estou querendo gerar N números aleatórios. Porém, nenhum deles deve ser
> repetido.
> Já tentei usar o rand() e o srand() porém, a cada execução realmente não
> tem
> valores repetidos, porém, no mesmo sorteio aparece valores repetidos.
> Gostaria de uma ajuda para chegar a solução deste meu problema.
>
> Abraços,

Ih, William... é complicado...

Infelizmente nenhum gerador de números aleatórios deterministico é
perfeito... softwares são previsíveis e gerar algo imprevisível é
complicado... Mas, dê uma procurada por "pseudo random number generators" no
google, pode ser que vc ache algo interessante por lá!

[]s
Fred

William Rodrigues
04-19-2006, 11:34 AM
Salve Fred.
Beleza cara....
Obrigado pela sua dica. Já tinha dado uma boa pesquisa no Google.
Mesmo assim obrigado cara.

Abraços,
William Rodrigues

"Frederico Pissarra" escreveu:

>
> "William Rodrigues" <William Rodrigues@discussions.microsoft.com> wrote in
> message news:970E9C88-6FE2-410D-B772-4FB7E7DF1D35@microsoft.com...
> > Salve galera!
> > Sou meio novato em C++. Já programei em Visual Basic 6.0 e VIsual
> > Basic.NET.
> > Bom, tô com alguns probleminhas aqui.
> > Estou querendo gerar N números aleatórios. Porém, nenhum deles deve ser
> > repetido.
> > Já tentei usar o rand() e o srand() porém, a cada execução realmente não
> > tem
> > valores repetidos, porém, no mesmo sorteio aparece valores repetidos.
> > Gostaria de uma ajuda para chegar a solução deste meu problema.
> >
> > Abraços,
>
> Ih, William... é complicado...
>
> Infelizmente nenhum gerador de números aleatórios deterministico é
> perfeito... softwares são previsíveis e gerar algo imprevisível é
> complicado... Mas, dê uma procurada por "pseudo random number generators" no
> google, pode ser que vc ache algo interessante por lá!
>
> []s
> Fred
>
>
>

Frederico Pissarra
04-19-2006, 01:16 PM
Eu só sinto não poder ajudar mais.... eu tinha por aqui um bom código para
isso, mas está meio que perdido no meio de meus backups...

De qq forma, ás ordens!

[]s
Fred

"William Rodrigues" <WilliamRodrigues@discussions.microsoft.com> escreveu na
mensagem news:71AC01B8-4633-477B-9D11-7225E8CB8E4D@microsoft.com...
> Salve Fred.
> Beleza cara....
> Obrigado pela sua dica. Já tinha dado uma boa pesquisa no Google.
> Mesmo assim obrigado cara.
>
> Abraços,
> William Rodrigues
>
> "Frederico Pissarra" escreveu:
>
>>
>> "William Rodrigues" <William Rodrigues@discussions.microsoft.com> wrote
>> in
>> message news:970E9C88-6FE2-410D-B772-4FB7E7DF1D35@microsoft.com...
>> > Salve galera!
>> > Sou meio novato em C++. Já programei em Visual Basic 6.0 e VIsual
>> > Basic.NET.
>> > Bom, tô com alguns probleminhas aqui.
>> > Estou querendo gerar N números aleatórios. Porém, nenhum deles deve ser
>> > repetido.
>> > Já tentei usar o rand() e o srand() porém, a cada execução realmente
>> > não
>> > tem
>> > valores repetidos, porém, no mesmo sorteio aparece valores repetidos.
>> > Gostaria de uma ajuda para chegar a solução deste meu problema.
>> >
>> > Abraços,
>>
>> Ih, William... é complicado...
>>
>> Infelizmente nenhum gerador de números aleatórios deterministico é
>> perfeito... softwares são previsíveis e gerar algo imprevisível é
>> complicado... Mas, dê uma procurada por "pseudo random number generators"
>> no
>> google, pode ser que vc ache algo interessante por lá!
>>
>> []s
>> Fred
>>
>>
>>

William Rodrigues
04-20-2006, 12:49 PM
Beleza brother...
Sem problemas...

Eu consegui fazer um esquema legal e deu certo. Segue:
PS: Vou colocar uma outra forma bem clara para quem precisar poder entender
sem muitas dificuldades.

#include <iostream>
#include <ctime>

using namespace std;

int main(int argc, char *argv[])
{
int maior_numero = 16, *numeros_em_ordem_aleatoria, posicao = 0;

int numero_sorteado;
bool repetido = false;

numeros_em_ordem_aleatoria = new int[maior_numero];

srand( (unsigned)time( NULL ) );

for (int i = 0; i < (maior_numero-1) ; i++)
numeros_em_ordem_aleatoria[i] = 0;

while(posicao < maior_numero)
{
numero_sorteado = 1 + (rand() % maior_numero );

for(int i = 0; i < posicao ; i++)
{
if (numeros_em_ordem_aleatoria[i] == numero_sorteado)
repetido=true;
}

if(!repetido)
{
numeros_em_ordem_aleatoria[posicao] = numero_sorteado;
cout << numeros_em_ordem_aleatoria[posicao] << " ";
posicao++;
}
else
repetido=false;
}

cout << "\n\n";

system("PAUSE");
return EXIT_SUCCESS;
}

Valeu brother!

Abraços,


"Frederico Pissarra" escreveu:

> Eu só sinto não poder ajudar mais.... eu tinha por aqui um bom código para
> isso, mas está meio que perdido no meio de meus backups...
>
> De qq forma, ás ordens!
>
> []s
> Fred
>
> "William Rodrigues" <WilliamRodrigues@discussions.microsoft.com> escreveu na
> mensagem news:71AC01B8-4633-477B-9D11-7225E8CB8E4D@microsoft.com...
> > Salve Fred.
> > Beleza cara....
> > Obrigado pela sua dica. Já tinha dado uma boa pesquisa no Google.
> > Mesmo assim obrigado cara.
> >
> > Abraços,
> > William Rodrigues
> >
> > "Frederico Pissarra" escreveu:
> >
> >>
> >> "William Rodrigues" <William Rodrigues@discussions.microsoft.com> wrote
> >> in
> >> message news:970E9C88-6FE2-410D-B772-4FB7E7DF1D35@microsoft.com...
> >> > Salve galera!
> >> > Sou meio novato em C++. Já programei em Visual Basic 6.0 e VIsual
> >> > Basic.NET.
> >> > Bom, tô com alguns probleminhas aqui.
> >> > Estou querendo gerar N números aleatórios. Porém, nenhum deles deve ser
> >> > repetido.
> >> > Já tentei usar o rand() e o srand() porém, a cada execução realmente
> >> > não
> >> > tem
> >> > valores repetidos, porém, no mesmo sorteio aparece valores repetidos.
> >> > Gostaria de uma ajuda para chegar a solução deste meu problema.
> >> >
> >> > Abraços,
> >>
> >> Ih, William... é complicado...
> >>
> >> Infelizmente nenhum gerador de números aleatórios deterministico é
> >> perfeito... softwares são previsíveis e gerar algo imprevisível é
> >> complicado... Mas, dê uma procurada por "pseudo random number generators"
> >> no
> >> google, pode ser que vc ache algo interessante por lá!
> >>
> >> []s
> >> Fred
> >>
> >>
> >>
>
>
>