毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

C++两个数组的前n项是否相等

更新时间:2011-5-7:  来源:毕业论文

C++两个数组的前n项是否相等
#include <iostream>
#define N 5
using namespace std;

bool equ_n(int a[], int b[], int n)    //非递归
{
 for(int i=0;i<n;i++)
 {
  if(a[i]!=b[i])
   return false;
 }
 return true;
}

bool equ_y(int a[],int b[],int n)     //递归
{
 if(a[n-1]!=b[n-1])
  return false;
 else if(n==0)
  return true;
 else
  return equ_y(a,b,n-1);
}

int main()
{
 int a[N],b[N];
 int num;
 cout <<"请输入"<<N<<"个数: "<<endl;
 for(int i=0;i<N;i++)
  cin >>a[i];
 cout <<"请再输入"<<N<<"个数: "<<endl;
原文请找腾讯752018766六,维-论'文.网http://www.lwfree.cn  cout <<"\n请输入您要比较前几个元素的值: ";
 cin >>num;
 cout <<"1-用非递归方法判断,2-用递归方法判断: ";
 int choice;
 cin >>choice;
 switch(choice)
 {
 case 1: cout <<"用非递归方法判断得:"<<endl;
      if(equ_n(a,b,num))
      cout <<"两组数的前"<<num<<"个数相等."<<endl;
         else
      cout <<"两组数的前"<<num<<"个数不相等!"<<endl;break;
 case 2: cout <<"用递归方法判断得:"<<endl;
      if(equ_y(a,b,num))
      cout <<"两组数的前"<<num<<"个数相等."<<endl;
         else
      cout <<"两组数的前"<<num<<"个数不相等!"<<endl;break;
 default: cout <<"输入有误!"<<endl;
 }

 return 0;
}需求分析
编写具有如下函数原型的递归与非递归两种函数equ,负责判断数组a与b的前n个元素值是否按下标对应完全相同,是则返回true,否则返回false。并编制主函数对它们进行调用,以验证其正确性。
bool equ(int a[], int b[], int n);
提示:递归函数中可按如下方式来分解并处理问题,先判断最后一个元素是否相同,不同则返false;相同则看n是否等于1,是则返回true,否则进行递归调用(传去实参a、b与 n-1,去判断前n-1个元素的相等性),并返回递归调用的结果(与前n-1个元素的是否相等性相同)。
1.2概要设计
设计数组长度为5,分别运用递归方法和非递归方法比较两数组的前n项是否相等。、
1.3详细设计与编码
代码见上传实验
流程图如下main
 
1.4运行调试
输入两个数组的数
 
选择方法进行比较
 
1.5用户使用说明
运行程序,用户根据提示输入两个数组的数,然后程序本身根据递归算法或者非递归算法进行比较,前n项是否相等。
1.6设计心得
这道程序对自己能力的提高有很大帮助,在做之前对递归的概念总是很模糊,现在了解多了,感觉也不是很难。1819

C++两个数组的前n项是否相等下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©lwfree.cn 六维论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。