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

C++两个数组前n个数是否按下标对应相等

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

C++两个数组前n个数是否按下标对应相等
编写具有如下函数原型的递归与非递归两种函数equ,负责判断数组a与b的前n个元素值是否按下标对应完全相同,是则返回true,否则返回false。并编制主函数对它们进行调用,以验证其正确性。bool equ(int a[], int b[], int n);

(一)需求分析:
这一题跟14题有相似之处,主要的目的是编制bool equ(int a[], int b[], int n);
题目的要求是判断两个数组的前n 个是否都相等,两个数组要在主函数中定义,并且赋值,然后通过调用bool equ()函数来判断是否按序相等。
(二)概要分析:
可以按照14题的方法,用两个形式来编制bool equ()函数,程序的流程图如下:
(三)详细分析
首先定义两个数组并赋值,它们的元素个数可以不同,但是在实验中我设置的数组其方法上边的题目中多次给出,在这里不进行详细的描述个数是相同的
再者,编制bool equ(int a[], int b[], int n) 函数,它有两个方法:
1. 可以用非递归的方法,它可以用for 循环来判断两个数组元素的大小是否按顺序对应相等排列
2. 用递归的方法,中间的循环地调用它自身的函数
(四)调试分析:
由于上个实验在非递归程序的设计过程中出现了,一点小错误这次注意力没有在犯相同的错误。这个实验比较顺利的完成。
(五)用户使用说明:
该程序的用处是判断两个数组的前n 个是否都相等,两个数组要在主函数中定义,并且赋值,然后通过调用bool equ()函数来判断是否按序相等。
(优)测试结果:  
    
(七) 源程序:
       见上传程序15.cpp
(八) 编程体会:
这个题目主要是比较两个数组的前n项是否相等,我们可以利用两种策略解决这个问题,递归和非递归进一步加强对递归的理解。

/*************************************************

  Copyright (C), 2008

  File name: 软件设计普通题 15(15.cpp)

  Author:  计06-1  高战         

  Description: 

  Others:       ....

  Function List:  // 主要函数列表,每条记录应包括函数名及功能简要说明
   1.main()            完成各种提示与主操作输入输出
   2.for               循环
                        3.equ()equ1()       两种函数
  History:       

   <author>  <time>   <version >   <desc>

*****************************************************/
#include<iostream>
using namespace std;
int main()
{
 bool equ(int a[],int b[],int n);                /*函数的声明*/
 bool equ1(int a[],int b[],int n);
 int a[5],b[5];
 int q=1,w;
 while(q){
 cout<<"输入五个数组a的元素"<<endl;             /*各种必须操作*/
 for(int i=0;i<5;i++)
  cin>>a[i];
原文请找腾讯752018766优,文-论'文.网http://www.youerw.com/   else cout<<"a b数组是不同的"<<endl;};break;
 case 2:{if(equ1(a,b,5))                          /*非递归函数的调用*/
  cout<<"a b数组是相同的"<<endl;
  else cout<<"a b数组是不同的"<<endl;};break;
 default:cout<<"输入出错!!!"<<endl;}
 cout<<"是否继续   继续按1 否按0退出"<<endl;
 cin>>q;
 }
 return 0;
}
bool equ1(int a[],int b[],int n)                   /*非递归函数的定义*/
{ for(int m=0;m<n;m++)
    if(a[m]!=b[m])
  return false;
 return true;
}
bool equ(int a[],int b[],int n)                  /*递归函数的定义*/
{ if((n-1)==0)
{if(a[n-1]==b[n-1])
    return true;
    else  return false ;}
else equ(a,b, n-1);1826

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

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