10 Rundom Cards Для Игры В Покер

Тема в разделе "C/C++/C#", создана пользователем Blond, 10 ноя 2012.

Статус темы:
Закрыта.
  1. Blond

    Blond Гость

    ДОбрый день. подскажите пожалуйста, пытаюсь выбрать из колоды в 52 карты 10 не повторяющихся (но выходит верно только одна) остальные вообще не понимаю как получаются

    Код ( (Unknown Language)):
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    struct card{
    int value;
    char suit;
    };
    struct board{
    struct card deck[52];
    };
    struct hend{
    struct card hend[10];
    };
    int main(){
    struct board b;
    struct hend a;
    int i =1;
    int counter = 1;
    int counter2 = 1;
    int counter3 = 1;
    int counter4 = 1;
    int temp;
    for(i=0; i< 52; i++){
    if(i<13){
    b.deck[i].value = counter;
    b.deck[i].suit = 'c';
    counter++;
    }
    else if(i<26){
    b.deck[i].value = counter2;
    b.deck[i].suit = 'd';
    counter2++;
    }
    else if(i<39){
    b.deck[i].value = counter3;
    b.deck[i].suit = 'h';
    counter3++;
    }
    else if(i<52){
    b.deck[i].value = counter4;
    b.deck[i].suit = 's';
    counter4++;
    }
    }
    srand(time(NULL));
    for(i=0; i<10; i++){
    temp = rand()%52+1;
    if(b.deck[temp].value != 0){
    a.hend[i].value = b.deck[temp].value;
    a.hend[i].suit = b.deck[temp].suit;
    b.deck[temp].value = 0;
    b.deck[temp].suit = NULL;
    break;
    }
    }
    for(i=0; i< 10; i++){
    printf("Card Value: %d Suit: %c \n", a.hend[i].value, a.hend[i].suit);
    }
    return 0;
    }
    Спасибо!
     
  2. rrrFer

    rrrFer Well-Known Member
    Команда форума C\C++ Team

    Регистрация:
    6 сен 2011
    Сообщения:
    1.324
    Симпатии:
    36
    почините теги кода
     
Статус темы:
Закрыта.

Поделиться этой страницей