• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Составление Аrray По Элементам Другого Array

  • Автор темы Blond
  • Дата начала
Статус
Закрыто для дальнейших ответов.
B

Blond

добрый день, подскажите пожалуйста, в карточной колоде 52 карты, у меня есть массив структур
где Value 1 2 3 ...13
suit c h d s
Код:
struct card{
int value;
char suit;
};
struct board{
struct card deck[52];
};

нужно распечатать имена туз, король, ....10. ...2
и соответственно
clubs
diamonds
hearts
spades

я создала новую структуру
Код:
struct card2{
char value2[10];
char suit2[10];
};

struct board2{
struct card2 deck2[10];
};

и использовала Strcpy для присвоения
но ответ не верный....
Код:
 void print(struct board str){
int i;
struct board2 str2;


for(i=0; i<10; i++){
printf("Card Value: %d Suit: %c \n", str.deck[i].value , str.deck[i].suit);
}


for(i=0; i< 10; i++){
if(str.deck[i].value = 13)
strcpy(str2.deck2[i].value2, "ace");
else if(str.deck[i].value = 12)
strcpy(str2.deck2[i].value2, "king");
else if(str.deck[i].value = 11)
strcpy(str2.deck2[i].value2, "dama");
else if(str.deck[i].value = 10)
strcpy(str2.deck2[i].value2, "jack");
else if(str.deck[i].value = 9)
strcpy(str2.deck2[i].value2, "10");
else if(str.deck[i].value = 8)
strcpy(str2.deck2[i].value2,"9");
else if(str.deck[i].value = 7)
strcpy(str2.deck2[i].value2,"8");
else if(str.deck[i].value = 6)
strcpy(str2.deck2[i].value2,"7");
else if(str.deck[i].value = 5)
strcpy(str2.deck2[i].value2,"6");
else if(str.deck[i].value = 4)
strcpy(str2.deck2[i].value2,"5");
else if(str.deck[i].value = 3)
strcpy(str2.deck2[i].value2,"4");
else if(str.deck[i].value = 2)
strcpy(str2.deck2[i].value2,"3");
else if(str.deck[i].value = 1)
strcpy(str2.deck2[i].value2,"2");
}

for(i=0; i <10; i++){

if(str.deck[i].suit = 'c')
strcpy(str2.deck2[i].suit2 , "clubs");
else if(str.deck[i].suit = 'd')
strcpy(str2.deck2[i].suit2 , "diamonds");
else if(str.deck[i].suit = 'h')
strcpy(str2.deck2[i].suit2, "hearts");
else if(str.deck[i].suit = 's')
strcpy(str2.deck2[i].suit2 , "spades");
}

for(i=0; i<10; i++){
printf("Card Value: %s Suit: %s \n", str2.deck2[i].value2, str2.deck2[i].suit2);
}

спасибо, может другой способ есть?
или Struct2 не верно задано?

вот структура какая была и ее надо изменить
Card Value: 10 Suit: s
Card Value: 9 Suit: s
Card Value: 8 Suit: s
Card Value: 7 Suit: h
Card Value: 6 Suit: s
Card Value: 5 Suit: d
Card Value: 4 Suit: d
Card Value: 3 Suit: h
Card Value: 1 Suit: c
Card Value: 1 Suit: d

а вот что получается(((
Card Value: ace Suit: clubs
Card Value: ace Suit: clubs
Card Value: ace Suit: clubs
Card Value: ace Suit: clubs
Card Value: ace Suit: clubs
Card Value: ace Suit: clubs
Card Value: ace Suit: clubs
Card Value: ace Suit: clubs
Card Value: ace Suit: clubs
Card Value: ace Suit: clubs
 
R

rrrFer

опиши нормально задачу, я ниче не понял. Но код опять какой-то ужасный.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!