算法分析-c++-金币阵列问题-实验报告.docx

算法分析-c++-金币阵列问题-实验报告.docx

ID:57673262

大小:30.70 KB

页数:8页

时间:2020-08-31

算法分析-c++-金币阵列问题-实验报告.docx_第1页
算法分析-c++-金币阵列问题-实验报告.docx_第2页
算法分析-c++-金币阵列问题-实验报告.docx_第3页
算法分析-c++-金币阵列问题-实验报告.docx_第4页
算法分析-c++-金币阵列问题-实验报告.docx_第5页
资源描述:

《算法分析-c++-金币阵列问题-实验报告.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、算法分析与设计实验报告第1.3次实验姓名李清健学号201508010720班级计科1507时间3.5上午地点四合院108实验名称金币阵列问题实验目的通过上机实验,要求掌握金币阵列问题的问题描述、算法设计思想、程序代码。要求实现文件读写操作,程序运行正确。输入原始阵列和目的阵列,输出从原始阵列到目的阵列需要经过多少步。(每次可以翻转某一行的金币或者交换某两列的金币)实验原理可以穷举每一种变换,记录变换次数,然后从中选取变换次数最少的变换方法,总的来说就是穷举法。实验步骤1.设计翻转某一行金币的函数,用途是将某一行金币翻转过来。2.设计交换某两列金币的函数,用途是交换

2、某两列的金币。3.设计主算法,功能是比较各种交换方法的交换次数,并记录下来。4.输出交换最小的次数。关键代码voidline(int**a,inth,inty){for(inti=0;i

3、验心得金币阵列问题的思想并不复杂,但具体实现过程较显繁琐,需要通过很多的循环来不断的给阵列调换位置,知道成功或知道不能实现。总之这个实验是我们收益颇多。实验得分助教签名附录:完整代码#includeusingnamespacestd;voidline(int**a,inth,inty){for(inti=0;i

4、for(inti=0;i>x;while(x--){intm,n;cin>>m>>n;int**a1=newint*[m];int**b1=newint*[m];for(inti=0;i

5、[2],b2[m][2];//a:shiji;b:mubiaofor(inti=0;i>a1[i][j];if(a1[i][j]==0)a2[i][0]++;elsea2[i][1]++;}for(inti=0;i>b1[i][j];if(b1[i][j]==0)b2[i][0]++;elseb2[i][1]++;

6、}intsum=0;//cishuintcount1=0,count2;for(inti=0;i

7、m;k++){if(b1[k][i]==a1[k][j])count2++;}if(count2==m&&i!=j){row(a1,m,j,i);pum++;sum++;break;}elseif(count2==m&&i==j){pum++;break;}}if(pum==0){cout<<"-1"<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。