Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
pedrix21

Funcao aleatorio C

Recommended Posts

pedrix21

Boas,

O meu problema é o seguinte,

Estou a fazer o solitario em C, e defini uma estrutura carta:

struct carta
{
int valor;
char naipe;  //usar os algarismos 3,4,5,6 para aquando da impressão surgirem os caracteres de copas,ouros,paus.
int cor;     //usar o numero 1 para vermelho e o numero 2 para preto
int oculta; //o 0 esta oculto e o numero 1 mostra
};

Depois defini um vector onde coloquei as cartas por ordem.

Do indice 0 ao 12 sao de copas do 13 ao 25 de ouros etc...

Depois defini um vector baralho.

No vector baralho tem que ter 24 cartas mas elas todas aleatórias.

O que não estou a conseguir fazer é baralhar as cartas no vector que coloquei as cartas por ordem.

Alguma dica?


@Pedro Lopes

Share this post


Link to post
Share on other sites
pmg

Não percebi: queres baralhar as 52 cartas no vector array original ou queres copiar 24 cartas aleatórias não repetidas para o array baralho?


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Share this post


Link to post
Share on other sites
pedrix21

O que quero fazer, e conseguir uma maneira de baralhar o vector onde estao definidas as cartas, só depois de elas estarem baralhadas colocar no vector baralho.


@Pedro Lopes

Share this post


Link to post
Share on other sites
pmg
for (i=0; i<52; i++) {
  j = rand() % 52;
  /* troca carta[i] com carta[j] */
}


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.