Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <time.h>
- #include <stdlib.h>
- #include <stdio.h>
- int main(void) {
- srand(time(NULL));
- int r = rand() %13; //é número de cartas de cada naipe
- printf("Número sorteado %d", r);
- return 0;
- }
- int rand_int(int n) {
- int limit = RAND_MAX - RAND_MAX % n;
- int rnd;
- do {
- rnd = rand();
- } while (rnd >= limit);
- return rnd % n;
- }
- void shuffle(int *array, int n) {
- int i, j, tmp;
- for (i = n - 1; i > 0; i--) {
- j = rand_int(i + 1);
- tmp = array[j];
- array[j] = array[i];
- array[i] = tmp;
- }
- }
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- #define CARDS 52
- #define DRAW 5
- void showcard(int card);
- int main() {
- int deck[CARDS];
- int x,c;
- /* inicializa o deck */
- for(x=0;x<CARDS;x++)
- deck[x] = 0;
- srand((unsigned)time(NULL));
- for(x=0;x<DRAW;x++) {
- for(;;) { /* loop até uma carta válida seja puxada */
- c = rand() % CARDS; /* gera a carta randomicamente */
- if(deck[c] == 0) { /* a carta já foi puxada? */
- deck[c] = 1; /* determinada que a carta foi puxada */
- showcard(c); /* mostra carta */
- break; /* encerra loop */
- }
- } /* repete até uma carta ser válida */
- }
- return(0);
- }
- void showcard(int card) {
- char *suit[4] = { "Spades", "Hearts", "Clubs", "Diamonds" };
- switch(card % 13) {
- case 0:
- printf("%2s","A");
- break;
- case 10:
- printf("%2s","J");
- break;
- case 11:
- printf("%2s","Q");
- break;
- case 12:
- printf("%2s","K");
- break;
- default:
- printf("%2d",card%13+1);
- }
- printf(" of %sn",suit[card/13]);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement