for循环检测连续值

时间:2016-02-27 20:52:04

标签: c++ math

我是c ++新手并且有一点任务。在德州扑克扑克中,你试图获得7张牌的组合。其中一种可能的组合是直接在7张牌下连续至少5张牌。数字2到10是数字卡,11个插孔,12个女王,13个国王和14个As。当差异为1时,两张牌都是结果。

应该创建函数recognizestreet (int cards[7]),该函数将被提交7个递增值。该函数应该检查7张卡片是否为直线。如果找到直线,则该函数应该返回最高卡的值,如果没有直线,则值为0.

这就是我现在所拥有的东西:

recognizestreet (int cards[7]) {
    int cards[13]={2,3,4,5,6,7,8,9,10,11,12,13,14};
    boolean street = false;
        for(int i = 0; i <= 7; i++){

    if (cards[i+] - cards[i] = 1 ) {
//do something


}
if (street = true) {
}
if (street = false) {
}
}

1 个答案:

答案 0 :(得分:1)

我认为你想要的东西是......

int recognizestreet (int cards[7]) {

    bool street = true;
    for(int i = 0; street && i < 6; i++){    
        if (cards[i+1] - cards[i] != 1 ) {
            street = false;
        }
    }

    if (street) {
      return cards[6];
    }
    else {
      return 0;
    }
}