现在的位置: 首页 > 综合 > 正文

C++第17周项目3——有相同数字?

2013年02月18日 ⁄ 综合 ⁄ 共 607字 ⁄ 字号 评论关闭

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565

【项目3-有相同数字?】编写程序,要判断两个有序数组中是否存在相同的数字
参考解答:
#include<iostream>   
using namespace std;  
bool existthesame(int *a,int n1,int *b,int n2);
int main()   
{   
    int a[]={1,4,7,8};   
    int b[]={2,5,6,9,10};   
    int n1=sizeof(a)/sizeof(a[0]);   
    int n2=sizeof(b)/sizeof(b[0]);   
    bool flag=existthesame(a,n1,b,n2);   
    if(flag==true)    
        cout<<"两个有序数组中存在相同的数字!\n";    
    else   
		cout<<"两个有序数组中不存在相同的数字!\n";    
    return 0;   
}  
bool existthesame(int *a,int n1,int *b,int n2)   
{ 
	int *p,*q;
	bool same=false;
	//将两个数组(指针指向的两组值)中的元素两两比较,直至发现有一个是想同的
	for(p=a;p<a+n1&&!same;++p)  //循环结束条件如是写可以及时终止循环
	{
		for(q=b;q<b+n2&&!same;++q)
			if (*p==*q) 
				same=true;
	}
	return same;
}   

抱歉!评论已关闭.