下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、QM算法说明、需求分析本算法要求输入一最小项和无关项的待化简表达式,通过程序处理输出化简后的结果。二、算法流程程序首先要求用户输入待化简表达式的变量数,然后要求用户逐个输入值为1的项,以2表示输入结束,再要求用户逐个输入无关项同样以2结束。程序将用户输入的所有数据储存在一个数据容器vector中,并将相关项单独存在另一个vector中。然后程序通过循环遍历所有相关项,将相邻的项合并成蕴涵项存入新建的vector中,无法再合并的项显然为本源蕴涵项,存入专门的容器。之后再对新建的vector中的蕴涵项重复上述操作,直到找到所有的本源蕴涵项。由于变量最多为10个,故合并最多进行10次,故所有合并可在
2、一个10元vector数组内完成。当之前的工作完成时,此时显然已找到所有的本源蕴涵项,此时遍历之前存储的相关项,统计被覆盖的次数并输出只被覆盖一次的项所属的本源蕴涵项(皆为本质本源蕴涵项)。之后再从vector尾部开始输出其他本源蕴涵项直到所有的相关项都被覆盖为止。三、运行结果测试数据采用现代逻辑设计(第二版)P86的样例,F=m(4,5,6,8,9,10,13)+d(0,7,15);结果并非最优的,是因为最后没有寻找最小覆盖导致的。齣人变量数:4请输入最小顶S结克):HI00010101101300丄9101101青输入无关坝2结束):090011110111Q1-01-1-110-001请
3、拧任意健继续附:C+源代码#include#include#include#include/#includeusingnamespacestd;/ofstreamout(c:/a.log);boolcomp(intn,char*a,char*b)for(inti=0;in;i+)if(ai!=bi&(ai!=-&bi!=-)returnfalse;returntrue;intimplicant(intn,char*a,char*b)intcount=0,temp;for(inti=0;in;i+)if(ai!=bi)count+;temp=i;if(count=1)returntemp;els
4、ereturn-1;boolcointain(intn,char*a,char*b)for(inti=0;in;i+)if(ai!=bi&(ai!=-)returnfalse;returntrue;intmain()inti,j,k,l,n,count,tmp;char*temp,c;vectorv10;vectorrelative;vectorprime;vectorresult;boolflag2;coutn;temp=newcharn;cout请输入最小项(2结束):endl;flag0=true;while(flag0)for(i=0;itempi;if(tempi!=0&tempi!
5、=1)flag0=false;break;if(flag0)v0.push_back(newcharn);relative.push_back(newcharn);strcpy(v0.back(),temp);strcpy(relative.back(),temp);cout请输入无关项(2结束):endl;flag0=true;while(flag0)for(i=0;itempi;if(tempi!=0&tempi!=1)flag0=false;break;if(flag0)v0.push_back(newcharn);strcpy(v0.back(),temp);for(i=0;i10;i
6、+)if(vi.empty()break;for(j=0;jvi.size();j+)flag0=false;for(k=0;kvi.size();k+)if(implicant(n,vij,vik)!=-1)strcpy(temp,vij);tempimplicant(n,vij,vik)=-;flag1=true;flag0=true;for(l=0;lvi+1.size();l+)if(!strcmp(vi+1l,temp)flag1=false;if(flag1)vi+1.push_back(newcharn);strcpy(vi+1.back(),temp);if(!flag0)pr
7、ime.push_back(newcharn);strcpy(prime.back(),vij);for(i=0;irelative.size()&!relative.empty();i+)count=0;for(j=0;jprime.size()&!prime.empty();j+)if(comp(n,relativei,primej)count+;tmp=j;if(count=1)result.push_back(newcharn);strcpy(result.back(),primetmp);for(j=0;jrelative.size();j+)if(comp(n,relativej,primetmp)relative.erase(relative.begin()+j);j-;prime.erase(prime.begin()+tmp);i-;while(!relative.empty()strcpy(temp,prime.back();prime.pop_back();count=0;for(i=0;i0)result.push_back(newcharn);strcpy(res
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大型礼仪庆典活动策划公司审计师述职报告
- 《老年原发性脑淋巴瘤专科护理|化疗管理 + 全套护理措施》
- 《儿童慢性病居家过敏反应急救专科护理》
- 《低血糖症专科护理》
- 跨境基础及电商1Chapter 4-Customer Service of Cross-border E-commerce
- 均衡生产计划催办函5篇范本
- 互联网企业数据分析报告撰写完备流程
- 梦想起航分享会小学主题班会课件
- 家庭与学校共同塑造孩子的未来小学主题班会课件
- 职业规划与目标设定手册
- 燃气管网安全培训课件
- 《诗经》诗经全文
- 初二下八升九-暑期不躺平初三一定赢-暑假前期末家长会课件
- 【曲臂式高空作业台载荷数值的估值与计算过程案例3200字】
- 2025年度食品厂安全应急演练计划
- 采购付款管理办法
- 消防防排烟系统培训课件
- 小学数学非纸笔测评任务的设计原则与实施策略
- 2025广州市小升初数学分班考试押题卷(学生版+解析版)
- 《比看上去更有意思》(2021年上海市中考满分作文33篇附审题指导)
- JG/T 335-2011混凝土结构防护用成膜型涂料
评论
0/150
提交评论