课程首页地址: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;
}