小编Cri*_*era的帖子

传递2D数组结构

我从阵列中处理卡片类型结构.

struct card deck[DECKSIZE];  //The deck is an array of cards structures
Run Code Online (Sandbox Code Playgroud)

我正在使用2D阵列.一组卡片类型结构的数组

struct card allHands[hands][cards];
Run Code Online (Sandbox Code Playgroud)

我使用此函数将deck和数组作为指针传递给数组的参数.我还改变了甲板指针的位置,以模拟在传递给玩家时丢失牌的牌组.

void dealHands(struct card *deck, struct card **handArray, int hands, int cards){

    int players;
    int cardCount;
    int passCard = 0;
    struct card * thisDeck;

    thisDeck = deck;

    for(players = 0; players < hands; players++){
        for(cardCount = 0; cardCount < cards; cardCount++){
            handArray[players][cardCount] = thisDeck[passCard];
            passCard++;
        }   
    }
    deck = (deck + passCard);   
}   
Run Code Online (Sandbox Code Playgroud)

我用c编程了很长一段时间,所以我觉得这就是你做原型的方法吗?

    void dealHands(struct card[], struct card*[], int, int);
Run Code Online (Sandbox Code Playgroud)

这就像我主要是如何实现这个功能的骨架.

int main(int …
Run Code Online (Sandbox Code Playgroud)

c struct pointers multidimensional-array

3
推荐指数
1
解决办法
3273
查看次数

Prolog中的命题逻辑子公式

这是一个prolog程序,它定义了命题逻辑的语法

所以我坚持试图找到其中X是Y的一个子公式我已经做了以下的谓词,但我有这个问题.不完全确定该怎么做.我知道我需要检查X和Y是否是公式,但我不明白下一步.

at(a). % Our first atom.
at(b). % Our second atom.
%fmla shows if it is a formula or not
fmla(X):- at(X). % an atom is a formula
fmla(neg(X)) :- fmla(X). % neg(F) is a formula if F is a formula
fmla(or(X,Y)) :- fmla(X), fmla(Y). % or(F,G) is a formula if F and G are formulas
fmla(and(X,Y)) :- fmla(X), fmla(Y). % and(F,G) is a formula if F and G are formulas
fmla(imp(X,Y)) :- fmla(neg(X)), fmla(Y). %imp is a formula …
Run Code Online (Sandbox Code Playgroud)

prolog

3
推荐指数
1
解决办法
444
查看次数

C++循环和比较编号变量

我有一个具有类似命名变量的结构,例如

char        c1;
char        c2;
char        c3;
char        c4;
char        c5;
char        c6;
char        c7;
char        c8;
Run Code Online (Sandbox Code Playgroud)

我需要的是一个循环,将输入与每个输入进行比较.

//Something Like
for(int i = 1; i <= 8; i++) {
    if(compared == foo->c(i)) {
        return compared;
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我有一长串if和elses.不幸的是,我无法改变结构.如果if/elses的长字符串是最有效的方式(性能不是代码看起来有多好),那么我只是保持这样.

我基本上想要一个更改我当前正在比较的变量名称的循环,以使代码更少杂乱,并希望更快.

c++

2
推荐指数
1
解决办法
71
查看次数

在C中弹出结构数组

我正在制作一副纸牌.卡是结构

 struct card{
    char* suit;
    char* face;
 }; 
Run Code Online (Sandbox Code Playgroud)

而甲板上只是一组卡片结构.

for(s = 0; s < sizeof(SUITS); s++){
    for(f = 0; f < sizeof(FACE); f++){

    thisCard.suit = SUITS[s];
    thisCard.face = FACE[f];
    deck[cardNum]=thisCard;
    cardNum++;
}
Run Code Online (Sandbox Code Playgroud)

套装和面部是具有所有套装和阵列的阵列

const char* SUITS[] = {"Spades", "Diamonds", "Clubs", "Hearts"};

const char* FACE[] = {"ACE", "ONE", "TWO", "THREE", "FOUR","FIVE",
 "SIX", "SEVEN", "EIGHT", "NINE", "TEN", "JACK", "QUEEN", "KING"};
Run Code Online (Sandbox Code Playgroud)

然后我用这种格式的西装打印出甲板

for(cardNum= 0; cardNum < DECKSIZE; cardNum++){
    thisCard = deck[cardNum];
    printf("%s of %s \n",thisCard.face,thisCard.suit);      
}
Run Code Online (Sandbox Code Playgroud)

所以我在这里遇到很多问题.我不确定我制作阵列的方式是否有效.看来,当我这样做时,我不会穿着西装.我知道它编译了一个警告,因为我使用const字符串作为我的常规struct事物.但我不确定为什么它不能很好地工作.

c arrays struct

1
推荐指数
1
解决办法
104
查看次数

标签 统计

c ×2

struct ×2

arrays ×1

c++ ×1

multidimensional-array ×1

pointers ×1

prolog ×1