1,在新增一个C++函数并调用该函数后,造成“段错误”,该函数如下:
//计算在当前牌型下,当前手牌的潜力值
//i公共牌数量,n为对手个数,a_val手牌,open_card公共牌 要求i=3/4
db pre_multi_final(int i, int n, int a_val[], int open_card[]) {
db ppot=0, better = 0, worse = 0, total = 0, eq = 0;
int current_HSn=0, later_HSn=0;
me(card);
card[a_val[1]] = 1;
card[a_val[2]] = 1;
rep(k, 1, i) {
card[open_card[k]]= 1;
}
current_HSn = calcu_multi(i, n, a_val, open_card);
//模拟增加公共牌,计算增加公共牌之后的牌力值
rep(k, 8, 59) {
if (card[k] == 0) {
open_card[i + 1] = k;
later_HSn = calcu_multi(i + 1, n, a_val, open_card);
total++;
better += (current_HSn < later_HSn);
eq += (current_HSn == later_HSn);
worse += (current_HSn > later_HSn);
}
}
ppot = ((better + eq/2)/total);
return ppot;
}
2,已尝试的解决方案:
typedef struct {
int seq_num, prime_num, rank;
}match;
//这个数据结构用于存储排名,以五张牌的素数特征值作为第一字典序
match flushes[2000], other[7000];
把C代码贴出来看看
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632