算法设计实验模版

上传人:hs****ma 文档编号:495360282 上传时间:2022-08-13 格式:DOC 页数:8 大小:109.01KB
返回 下载 相关 举报
算法设计实验模版_第1页
第1页 / 共8页
算法设计实验模版_第2页
第2页 / 共8页
算法设计实验模版_第3页
第3页 / 共8页
算法设计实验模版_第4页
第4页 / 共8页
算法设计实验模版_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《算法设计实验模版》由会员分享,可在线阅读,更多相关《算法设计实验模版(8页珍藏版)》请在金锄头文库上搜索。

1、算法设计与分析实验报告实验名称 主元素问题学 院信息科学技术学院专业班级 12计算机科学与技术非师范班学 号201224010138201224010235201224010102姓 名佟蕊汪德忠陈超月任课教师 石春实验时间2014/11/15实验1-21 实验内容从键盘手工输入n个按照设计模式给定的正整数,然后,再在要求的情况下,手工输入任意的n个正整数,然后,通过自己设计的程序,计算并且输出在这个程序设计过程中,只要输入的数的某一个数的个数大于或者等于属于数的总的个数的n/2数,我们就把这个数尊称为重数。2 实验环境a) 数据输入从键盘输入任意的n(n1)个整数如图所示 数据输出如果在输入

2、的数组中含有有主元素,输出主元素以及在这个数组中主元素的全部所有个数如图所示b) 编程环境VC+6.0下的C+语言编程环境3 算法设计从键盘输入的总数个数范围为n,然后,设定一个数组a,将这n个数存放入数组a中,并且,设置循环嵌套语句,设定一个指针c,在这个数组啊a中,首先,把第一个数赋值给指针c,然后,在数组a中从0至n-1的范围内,如果j=1时,按照j=j+1的寻找过程,对数组a中的数逐一的循环地进行查找,如果两个数的数值相同,通过程序,自动的把数的个数进行加一,然后,如果在寻找完整个数组时,如果在这个数组a中,某个数在这个数组a出现的次数大于或者等于n/2时,则我们就把这个数称之为重数,

3、并且,在屏幕上输出这个重数以及输出这个重数在这个数组a中出现的次数。4 程序说明#includeusing namespace std;bool candidate(int a,int &c,int n,int r)/定义寻找主元素的循环嵌套函数int j=r,count=1;c=ar;while(j=1)j=j+1;if(aj=c)count=count+1;/else /count=count-1;if(j=n-1&count=1)return true;else if(j=n-1&count=0)return false;else return candidate(a,c,n,j+1);

4、bool majority(int a,int &m,int n)/我们在这个算法中能够做出这个苏算法找出主元素以及这个主元素的重数int j,count=1;bool flag;flag=candidate(a,m,n,0);if(flag)for(j=0;jn;j+)if(aj=m)count+;if(count=n/2)flag=false;elseflag=true;return flag;void main()int c;int n;int a1000;int d=0;coutn;cout请输入整数:;for (int i=0;iai;int b;/=an-1;c=majority(

5、a,b,n);if (c=true)cout主元素是b;for(i=0;in;i+)if(ai=b)d+;cout重数是d;elsecout无主元素;coutendl;5 算法复杂性分析从键盘输入的总数个数范围为n,然后,设定一个数组a,将这n个数存放入数组a中,并且,利用循环嵌套语句,设定一个指针c,在这个数组啊a中,首先,把第一个数赋值给指针c,然后,在数组a中从0至n-1的范围内,如果j=1时,按照j=j+1的寻找过程,对数组a中的数逐一的循环地进行查找,如果两个数的数值相同,通过程序,自动的把数的个数进行加一,然后,如果在寻找完整个数组时,如果在这个数组a中,某个数在这个数组a出现的次

6、数大于或者等于n/2时,则我们就把这个数称之为重数,并且,在屏幕上输出这个重数以及输出这个重数在这个数组a中出现的次数。6 实验结果a) 输入参数如图所示b) 输出结果如图所示7 实验总结 在我们组员(陈超月,佟蕊,汪德忠)我们三个的分工合作中,其中,编写代码的是组员(陈超月,佟蕊),在拿到老师给的题目时,由于以前从未听说过主元素以及对主元素的概念只是处于一个小白的情况下,我们的组员充分利用现在互联网的优势,有事没事百度一下,最终,能够准确的按照定义理解主元素(给定的n个元素,如果在这n元素中,某个数能够持续的出现大于或者等于n/2的个数中,称为主元素)以及还有重数(即n个数中,主元素出现的次

7、数,称为重数),他们两个负责代码的编写以及对代码的测试,找出代码中存在的由于在使用嵌套语句时,因为对函数的理解不是很透彻,所以,在定义语句时,出现由于在寻找主元素的时候,输入相同的数存入数组的时候,由于定义的错误,错误地报出了重数,然后,在它们两个的不放弃的努力下,最终,胜利地吧代码的错误顺利寻找到,并且,加以改正,然后,接下来,就是我的工作,我按照在测试时,我们进行的设计,把我们的想法,用书面语言表达出来,总之,在这次合作中,我们分工明确,任务安排得当,所以,在我们的工作实施起来的时候,我觉得我们实施的很顺利,也很感谢老师给的这次机会,让我们在实践中相互的寻找对方身上的有点和可开发点,然后,相互的找出自己的缺点,并且,相互的取长补短,所以,最后,我们能够顺利的漂亮的圆满的完成这次试验,收获颇多。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号