embaralhar números em C...

1. embaralhar números em C...

chayene
chayloira

(usa Ubuntu)

Enviado em 13/06/2013 - 10:01h

Alguém sabe um comando pra embaralhar números em linguagem C? Preciso fazer um jogo em que os números vem embaralhados, se alguém souber...
Obrigada!


  


2. Re: embaralhar números em C...

wellington
wellingtonsr

(usa Slackware)

Enviado em 13/06/2013 - 10:26h

Não sou muito bom em C (ainda), Mas dê uma olhada nessa função e entenda seu funcionamento.

void embaralhar(int *vet, int vetSize)
{
for (int i = 0; i < vetSize; i++)
{
int r = rand() % vetSize;

int temp = vet[i];
vet[i] = vet[r];
vet[r] = temp;
}
}



http://forum.clubedohardware.com.br/resolvido-embaralhar-vetor/1060520


3. Re: embaralhar números em C...

Helton Barbosa Santos Ferreira
HeltonBarbosa

(usa FreeBSD)

Enviado em 13/06/2013 - 10:41h

Eu sempre uso a função rand() que gera números aleatórios. Um bom exemplo é esse já postado acima. Mas é sempre útil fazer uma pesquisa na net buscando por essa referência.


4. Re: embaralhar números em C...

wellington
wellingtonsr

(usa Slackware)

Enviado em 13/06/2013 - 10:47h

HeltonBarbosa escreveu:

Eu sempre uso a função rand() que gera números aleatórios. Um bom exemplo é esse já postado acima. Mas é sempre útil fazer uma pesquisa na net buscando por essa referência.



Concordo.




5. Re: embaralhar números em C...

chayene
chayloira

(usa Ubuntu)

Enviado em 13/06/2013 - 13:48h

E se eu quiser embaralhar letras? eu posso usar esse mesmo método?


6. Re: embaralhar números em C...

Luís Fernando C. Cavalheiro
lcavalheiro

(usa Slackware)

Enviado em 13/06/2013 - 14:25h

chayloira escreveu:

E se eu quiser embaralhar letras? eu posso usar esse mesmo método?


Dê um jeito de separar a string letra a letra, cada letra compondo uma nova matriz ou vetor, dê um jeito de contar quantas letras a string tem e use o rand pra reordená-las.


7. Re: embaralhar números em C...

ian cléver sales fernandes
ianclever

(usa Arch Linux)

Enviado em 13/06/2013 - 15:14h

chayloira escreveu:

E se eu quiser embaralhar letras? eu posso usar esse mesmo método?


se for uma única letra pode igualar direto, apenas lembrando de por a letra entre aspas simples:

ex.:

vetor[1]='a';

agora se for mais de uma letra por vez vc terá que usar a função strcpy ou strcat.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts