ImageVerifierCode 换一换
格式:DOCX , 页数:7 ,大小:16.76KB ,
资源ID:14540609      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/14540609.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《数据结构c语言》重言式判定参考了别人的代码Word文件下载.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

《数据结构c语言》重言式判定参考了别人的代码Word文件下载.docx

1、 (2) 可设表达式中逻辑变量数不超过20 。真值的产生可以通过在一维数组上维护一个 “ 软计数器 ” 实现,用递归算法实现更简单。cpp view plaincopyprint?1. #include2. using namespace std;3. struct Arr 4. 5. char letter;6. int weight;7. ;8. class Cys 9. 10. public:11. Cys();12. void GetTautology();/输入表达式 13. int _CreateT(int ,int );/虚拟创建二叉树 14. int FindMin(int ,

2、int );/找到weight最小的 15. int count(); /计算可满足式的值 16. void _recursion(Arr *_arr,int i );/递归,穷举 17. void recursion();/使用接口函数 18. void Print();/输出结果 19. Cys();/析构释放空间 20. private:21. int num;22. Arr *array; 23. Arr _arr20; /存放字母 24. int _arrNum;25. int trueforever;26. int falseforever;27. ;28. 29. Cys:Cys

3、() 30. 31. trueforever=0;32. falseforever=0;33. array=new Arr20; 34. for(int i=0;i20;i+) 35. arrayi.weight-1; 36. arrayi.letter=0;37. 38. _arrNum=0;39. num=0;40. 41. void Cys:GetTautology() 42. 43. int has27=0;44. int weight=0;45. char ch;46. coutch & ch!=#) 48. 49. 50. 51. if(ch= 52. continue;53. 5

4、4. switch(ch) 55. 56. case (57. weight+=4;58. break;59. case )60. weight-=4;61. break;62. case 63. arraynum.letter=ch;64. arraynum+.weight=weight+2;65. break;66. case | 67. arraynum.letter=ch;68. arraynum+.weight=weight+1;69. break;70. case 71. arraynum.letter=ch;72. arraynum+.weight=weight+3;73. br

5、eak;74. default: 75. arraynum.letter=ch; 76. if(!hasarraynum.letter-A) 77. _arr_arrNum+.letter=arraynum.letter; 78. hasarraynum.letter-=1;79. 80. arraynum+.weight=0;81. break;82. 83. 84. 85. 86. int Cys: FindMin(int low,int high) 87. 88. int min=low;89. while(!arraymin.weight) 90. min+;91. 92. if(mi

6、nhigh) 93. for(int i=min;high+1;i+) 94. if(arrayi.weight & arrayi.weight95. min=i;96. return min;97. 98. else 99. return 0;100. 101. 102. 103. int Cys:_CreateT(int low,int high) 104. 105. int Min=0;106. / couthigh) 108. return 1;109. else if(low=high) 110. 111. / coutletterarraylow.letter112. int i;

7、113. for(i=0;_arri.letter!=arraylow.letter;i+);/从array中寻找与_arr中相同的字母 114. return _arri.weight;/返回它的weight(1或0) 115. 116. else 117. Min=FindMin(low,high); 118. /coutarrayMin.letter: arrayMin.letter;119. switch(arrayMin.letter) 120. case return( _CreateT(low,Min-1)& _CreateT(Min+1,high);121. break;122

8、. case return( _CreateT(low,Min-1)| _CreateT(Min+1,high);123. break;124. case return(!_CreateT(Min+1,high);125. break;126. 127. 128. 129. int Cys: count() /计算可满足式的值 130. 131. int i=0;132. cout请给字母赋值133. while(_arrNum-) 134. cout_arri+.weight;136. 137. if(_CreateT(0,num-1) 138. trueforever+;139. else

9、 140. falseforever+;141. 142. 143. 144. void Cys:_recursion(Arr _arr,int i)/递归调用 145. 146. if(i_arrNum) 147. _arri.weight=0; 148. / cout0 149. _recursion(_arr,i+1); 150. _arri.weight=1; 151. / cout1 152. _recursion(_arr,i+1);153. 154. else 155. if(!trueforever|!falseforever) 156. 157. switch(_Create

10、T(0,num-1) 158. 159. case 1:160. / couttrueforever+;161. trueforever+;162. break;163. case 0:164. / coutfalseforever+;165. falseforever+;166. break;167. default :168. break;169. 170. 171. 172. 173. void Cys:Print() 174. if(trueforever & falseforever)/如果真假同时存在就判断它为 satisfactible. 175. coutsatisfactib

11、le. 176. else if(!trueforever) 177. coutfalseforever.178. else 179. couttrueforever. 180. 181. 182. void Cys:recursion() 183. 184. _recursion(_arr,0);185. 186. 187. Cys:Cys() 188. 189. delete array;190. 191. 192. int main() 193. 194. cout-重言式判别-195. Cys cys;196. char c;197. cys.GetTautology();198. cout计算机穷举请按t or 用户赋值请按n199. ci

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1