Galera é o seguinte, estou tentando fazer um algoritmo em C para distribuiçao de cartas em uma mesa de poker. Primeiramente eu preciso fazer um vetor que receba valores de 0 a 51 (um baralho completo de poker possui 52 cartas).
O problema é que quando eu gero os numeros aleatórios eu preciso que não haja repetiçao de numeros no vetor, é isso que eu não estou conseguindo fazer.
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
main()
{
int cartas=52, i, j, Carta[cartas];
srand(time(NULL));
for(i=1; i<=cartas; i++) {
Carta[i]=(rand() % 52); } // Gera numeros aleatórios de 0 a 51
for(i=1; i<=cartas; i++) {
printf("Carta[%d] = %d\n", i, Carta[i]); } // imprime o vetor na tela
getch();
}
O Arquivo compilado ficou assim: (reparem que há alguns numeros repetidos como o 3, 6, 30, 34... tem mais que se repetem, mais de uma vez, só citei esses como exemplo)
Carta[1] = 11
Carta[2] = 2
Carta[3] = 28
Carta[4] = 33
Carta[5] = 51
Carta[6] = 50
Carta[7] = 43
Carta[8] = 31
Carta[9] = 34
Carta[10] = 14
Carta[11] = 5
Carta[12] = 9
Carta[13] = 21
Carta[14] = 29
Carta[15] = 20
Carta[16] = 32
Carta[17] = 10
Carta[18] = 6
Carta[19] = 6
Carta[20] = 30
Carta[21] = 45
Carta[22] = 37
Carta[23] = 27
Carta[24] = 6
Carta[25] = 3
Carta[26] = 3
Carta[27] = 21
Carta[28] = 30
Carta[29] = 47
Carta[30] = 6
Carta[31] = 28
Carta[32] = 19
Carta[33] = 45
Carta[34] = 38
Carta[35] = 18
Carta[36] = 12
Carta[37] = 40
Carta[38] = 23
Carta[39] = 1
Carta[40] = 4
Carta[41] = 11
Carta[42] = 36
Carta[43] = 43
Carta[44] = 33
Carta[45] = 32
Carta[46] = 15
Carta[47] = 16
Carta[48] = 5
Carta[49] = 49
Carta[50] = 18
Carta[51] = 34
Carta[52] = 32
Como eu faço para ter os numeros no vetor (numeros de 0 a 51) sem repetiçao ???
Pergunta
Guh!
Galera é o seguinte, estou tentando fazer um algoritmo em C para distribuiçao de cartas em uma mesa de poker. Primeiramente eu preciso fazer um vetor que receba valores de 0 a 51 (um baralho completo de poker possui 52 cartas).
O problema é que quando eu gero os numeros aleatórios eu preciso que não haja repetiçao de numeros no vetor, é isso que eu não estou conseguindo fazer.
O Arquivo compilado ficou assim: (reparem que há alguns numeros repetidos como o 3, 6, 30, 34... tem mais que se repetem, mais de uma vez, só citei esses como exemplo)
Carta[1] = 11
Carta[2] = 2
Carta[3] = 28
Carta[4] = 33
Carta[5] = 51
Carta[6] = 50
Carta[7] = 43
Carta[8] = 31
Carta[9] = 34
Carta[10] = 14
Carta[11] = 5
Carta[12] = 9
Carta[13] = 21
Carta[14] = 29
Carta[15] = 20
Carta[16] = 32
Carta[17] = 10
Carta[18] = 6
Carta[19] = 6
Carta[20] = 30
Carta[21] = 45
Carta[22] = 37
Carta[23] = 27
Carta[24] = 6
Carta[25] = 3
Carta[26] = 3
Carta[27] = 21
Carta[28] = 30
Carta[29] = 47
Carta[30] = 6
Carta[31] = 28
Carta[32] = 19
Carta[33] = 45
Carta[34] = 38
Carta[35] = 18
Carta[36] = 12
Carta[37] = 40
Carta[38] = 23
Carta[39] = 1
Carta[40] = 4
Carta[41] = 11
Carta[42] = 36
Carta[43] = 43
Carta[44] = 33
Carta[45] = 32
Carta[46] = 15
Carta[47] = 16
Carta[48] = 5
Carta[49] = 49
Carta[50] = 18
Carta[51] = 34
Carta[52] = 32
Como eu faço para ter os numeros no vetor (numeros de 0 a 51) sem repetiçao ???
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.