B
Blond
ДОбрый день. подскажите пожалуйста, пытаюсь выбрать из колоды в 52 карты 10 не повторяющихся (но выходит верно только одна) остальные вообще не понимаю как получаются
Спасибо!
Код:
#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;
}
Спасибо!